Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux»·¾³½ø³Ì¼äͨÐÅ


Linux»·¾³½ø³Ì¼äͨÐÅ£¨Ò»£©
¹ÜµÀ¼°ÓÐÃû¹ÜµÀ
Ö£ÑåÐË (mlinux@163.com)¹ú·À¿Æ´ó¼ÆËã»úѧԺ
2002 Äê 12 ÔÂ 11 ÈÕ
ÔÚ±¾ÏµÁÐÐòÖÐ×÷Õ߸ÅÊöÁË linux ½ø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶΡ£ÆäÖйܵÀºÍÓÐÃû¹ÜµÀÊÇ×îÔçµÄ½ø³Ì¼äͨÐÅ»úÖÆÖ®Ò»£¬¹ÜµÀ¿ÉÓÃÓÚ¾ßÓÐÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ£¬ÓÐÃû¹ÜµÀ¿Ë·þÁ˹ܵÀûÓÐÃû×ÖµÄÏÞÖÆ£¬Òò´Ë£¬³ý¾ßÓйܵÀËù¾ßÓеŦÄÜÍ⣬Ëü»¹ÔÊÐíÎÞÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ¡£ ÈÏÇå¹ÜµÀºÍÓÐÃû¹ÜµÀµÄ¶Áд¹æÔòÊÇÔÚ³ÌÐòÖÐÓ¦ÓÃËüÃǵĹؼü£¬±¾ÎÄÔÚÏêϸÌÖÂÛÁ˹ܵÀºÍÓÐÃû¹ÜµÀµÄͨÐÅ»úÖÆµÄ»ù´¡ÉÏ£¬ÓÃʵÀý¶ÔÆä¶Áд¹æÔò½øÐÐÁ˳ÌÐòÑéÖ¤£¬ÕâÑù×öÓÐÀûÓÚÔöÇ¿¶ÁÕß¶Ô¶Áд¹æÔòµÄ¸ÐÐÔÈÏʶ£¬Í¬Ê±Ò²ÌṩÁËÓ¦Ó÷¶Àý¡£
1¡¢ ¹ÜµÀ¸ÅÊö¼°Ïà¹ØAPIÓ¦ÓÃ
1.1 ¹ÜµÀÏà¹ØµÄ¹Ø¼ü¸ÅÄî
¹ÜµÀÊÇLinuxÖ§³ÖµÄ×î³õUnix IPCÐÎʽ֮һ£¬¾ßÓÐÒÔÏÂÌØµã£º
¹ÜµÀÊǰëË«¹¤µÄ£¬Êý¾ÝÖ»ÄÜÏòÒ»¸ö·½ÏòÁ÷¶¯£»ÐèҪ˫·½Í¨ÐÅʱ£¬ÐèÒª½¨Á¢ÆðÁ½¸ö¹ÜµÀ£»
Ö»ÄÜÓÃÓÚ¸¸×Ó½ø³Ì»òÕßÐֵܽø³ÌÖ®¼ä£¨¾ßÓÐÇ×Ôµ¹ØÏµµÄ½ø³Ì£©£»
µ¥¶À¹¹³ÉÒ»ÖÖ¶ÀÁ¢µÄÎļþϵͳ£º¹ÜµÀ¶ÔÓڹܵÀÁ½¶ËµÄ½ø³Ì¶øÑÔ£¬¾ÍÊÇÒ»¸öÎļþ£¬µ«Ëü²»ÊÇÆÕͨµÄÎļþ£¬Ëü²»ÊôÓÚijÖÖÎļþϵͳ£¬¶øÊÇ×ÔÁ¢ÃÅ»§£¬µ¥¶À¹¹³ÉÒ»ÖÖÎļþϵͳ£¬²¢ÇÒÖ»´æÔÚÓëÄÚ´æÖС£
Êý¾ÝµÄ¶Á³öºÍдÈ룺һ¸ö½ø³ÌÏò¹ÜµÀÖÐдµÄÄÚÈݱ»¹ÜµÀÁíÒ»¶ËµÄ½ø³Ì¶Á³ö¡£Ð´ÈëµÄÄÚÈÝÿ´Î¶¼Ìí¼ÓÔڹܵÀ»º³åÇøµÄĩ⣬²¢ÇÒÿ´Î¶¼ÊÇ´Ó»º³åÇøµÄÍ·²¿¶Á³öÊý¾Ý¡£
1.2¹ÜµÀµÄ´´½¨£º
#include <unistd.h>
int pipe(int fd[2])
¸Ãº¯Êý´´½¨µÄ¹ÜµÀµÄÁ½¶Ë´¦ÓÚÒ»¸ö½ø³ÌÖм䣬ÔÚʵ¼ÊÓ¦ÓÃÖÐûÓÐÌ«´óÒâÒ壬Òò´Ë£¬Ò»¸ö½ø³ÌÔÚÓÉpipe()´´½¨¹ÜµÀºó£¬Ò»°ãÔÙforkÒ»¸ö×Ó½ø³Ì£¬È»ºóͨ¹ý¹ÜµÀʵÏÖ¸¸×Ó½ø³Ì¼äµÄͨÐÅ£¨Òò´ËÒ²²»ÄÑÍÆ³ö£¬Ö»ÒªÁ½¸ö½ø³ÌÖдæÔÚÇ×Ôµ¹ØÏµ£¬ÕâÀïµÄÇ×Ôµ¹ØÏµÖ¸µÄÊǾßÓй²Í¬µÄ׿ÏÈ£¬¶¼¿ÉÒÔ²ÉÓùܵÀ·½Ê½À´½øÐÐͨÐÅ£©¡£
1.3¹ÜµÀµÄ¶Áд¹æÔò£º
¹ÜµÀÁ½¶Ë¿É·Ö±ðÓÃÃèÊö×Öfd[0]ÒÔ¼°fd[1]À´ÃèÊö£¬ÐèҪעÒâµÄÊÇ£¬¹ÜµÀµÄÁ½¶ËÊǹ̶¨ÁËÈÎÎñµÄ¡£¼´Ò»¶ËÖ»ÄÜÓÃÓÚ¶Á£¬ÓÉÃèÊö×Öfd[0]±íʾ£¬³ÆÆäΪ¹ÜµÀ¶Á¶Ë£»ÁíÒ»¶ËÔòÖ»ÄÜÓÃÓÚд£¬ÓÉÃèÊö×Öfd[1]À´±íʾ£¬³ÆÆäΪ¹ÜµÀд¶Ë¡£Èç¹ûÊÔͼ´Ó¹ÜµÀд¶Ë¶ÁÈ¡Êý¾Ý£¬»òÕßÏò¹ÜµÀ¶Á¶ËдÈëÊý¾Ý¶¼½«µ¼Ö´íÎó·¢Éú¡£Ò»°ãÎļþµÄI/Oº¯Êý¶¼¿ÉÒÔÓÃÓڹܵÀ£¬Èçclose¡¢read¡¢writeµÈµÈ¡£
´Ó¹ÜµÀÖжÁÈ¡Êý¾Ý£º
Èç¹û¹ÜµÀµÄд¶Ë²»´æÔÚ£¬ÔòÈÏΪÒѾ­¶Áµ½ÁËÊý¾ÝµÄĩ⣬¶Áº¯Êý·µ»ØµÄ¶Á³ö×Ö½ÚÊýΪ0£»
µ±¹ÜµÀµÄд¶Ë´æÔÚʱ£¬Èç¹ûÇëÇóµÄ×Ö½ÚÊýÄ¿´óÓÚPIPE_BUF£¬Ôò·µ»Ø¹ÜµÀÖÐÏÖÓеÄÊý¾Ý×Ö½ÚÊý£¬Èç¹ûÇëÇóµÄ×Ö½ÚÊýÄ¿²»´óÓÚPIPE


Ïà¹ØÎĵµ£º

LinuxµÄmountÃüÁî¼ò½é


¡¡ÔÚLinuxϵͳÖУ¬Èç¹ûҪʹÓÃÓ²ÅÌ¡¢¹âÅÌ¡¢ÈíÅÌ»òMOÅ̵ȴ洢É豸£¬±ØÐëÏȽøÐйÒ×°£¨Mount£©¡£µ±´æ´¢É豸¹Ò×°Íê³ÉÖ®ºó£¬¾Í¿ÉÒÔ½«Æä×÷Ϊһ¸öĿ¼À´½øÐзÃÎÊÁË¡£¹Ò×°É豸ÐèҪʹÓÃmountÃüÁî¡£Ö´ÐÐÕâÒ»ÃüÁÖÁÉÙÒªÏÈÈ·¶¨ÏÂÁÐÈýÖÖÐÅÏ¢£º 
¡¡¡¡1. Òª¹Ò×°£¨Mount£©¶ÔÏóµÄÎļþϵͳÀàÐÍ£»
¡¡¡¡2. Òª¹Ò×°£¨Mount£©¶ÔÏóµÄÉ豸à ......

How to check into Linux OS

I learned some experience while Nanjing found 0x03 error. At begining, we don't know why our GSRM(a linux process) hang in a short time 5 seconds sometimes. It didn't handle any message at that time and the interruption is not regularly. So we assume we have Linux OS problem. We did following checks ......

Linux ÐÂÔöϵͳµ÷ÓÃµÄÆôʾ

×î½üÔÚÑо¿ Linux Äں˵Äʱ¼ä×Óϵͳ£¬ÎªÏÂһƪ³¤ÎÄ¡¶·þÎñÆ÷³ÌÐòÖеÄÈÕÆÚÓëʱ¼ä¡·×ö×¼±¸£¬ÎÞÒâÖÐ×¢Òâµ½ÁË Linux ÐÂÔöµÄ¼¸¸öϵͳµ÷ÓõĶԱàд·þÎñÆ÷´úÂëµÄÓ°Ï죬ÏÈ´óּǼÔÚÕâÀï¡£ÕâÆª²©¿ÍÒ²¿ÉËã×÷ǰһƪ¡¶¶àÏ̷߳þÎñÆ÷µÄ³£Óñà³ÌÄ£ÐÍ¡·µÄÒ»¸ö×¢½Å¡£ 1. ·þÎñÆ÷³ÌÐòµÄ·ç¸ñ¿ÉÄÜÔÚ±ä еĴ´½¨ÎļþÃèÊö·ûµÄ syscall Ò»°ã¶¼Ö§³Ö ......

Ô¶ÀëWindows,ʹÓÃLinux/Unix

2005Äê9ÔÂ22ÈÕ£¬Ç廪ÔÚ¶Á²©Ê¿ÉúÍõÛóÔÚˮľÉçÇøBLOGÉÏ·¢±íÁË¡¶Ç廪ÃεķÛËé--д¸øÇ廪´óѧµÄÍËѧÉêÇë¡·Ã÷È·ÒªÇóÍËѧ, ÒýÆðÉç»á¸÷½ç¹ã·ºÕùÂÛ. Ëû´´×÷µÄ³¤ÆªÎÄÕ¡¶ÍêÈ«ÓÃLinux¹¤×÷¡·, ÑóÑóÁ½Íò¶à×Ö, ´Ó²»Í¬½Ç¶È¾Ó¸ßÁÙϵIJûÊöÁËËûÑÛÖÐLinuxÍêÈ«ÓÅÔ½ÓÚWindowsµÄ¸÷ÖÖÀíÓÉ, ÕâÆªÎÄÕ²¢²»¼òµ¥µÄÊÇһƪÂÛÊö"WindowsÄÜ×öµÄÊÂLinux¶¼Ä ......

Linux Kernel API (2.6)

#protect share data
spin_lock/spin_unlock: protect the data during process context(and only at process context), and make sure your code bewteen lock/unlock is fast enough.There may deadlock if the same spin_lock is called at interrupt context.
spin_lock_irq/spin_unlock_irq: call it during interru ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ