Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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£¬Ôò·µ»Ø¹ÜµÀÖÐÏÖÓеÄÊý¾


Ïà¹ØÎĵµ£º

win32´íÎóÂëºÍlinuxµÄ´íÎóÂëµÄ¼òµ¥×ª»»

ÎÒÃÇÖªµÀ£¬ÔÚlinuxÏ£¬ÎÒÃÇÓÃerrnoÀ´²é¿´API·µ»ØµÄ´íÎóÂ룬²¢ÓÃstrerror(errno)À´»ñµÃ´íÎóÐÅÏ¢¡£
¶øÔÚwindowsÏÂÒ²ÓÐÕâµÄ´íÎóÂ룬¿ÉÒÔÓÃGetLastError
À´»ñµÃ£¬ÔÚwindowsÏ£¬Òª»ñµÃ´íÎóÂë¶ÔÓ¦µÄÐÅÏ¢¾ÍûÓÐlinuxÏÂÄÇô·½±ãÁË¡£
Æä»ñµÃ·½Ê½¿ÉÒԲο¼¡¶windowsºËÐıà³Ì¡·¡£
µ«ÎÒÃÇÒ²¿ÉÒÔÓÃlinuxϵÄapiÀ´»ñµÃwindowsϵĴíÎóÐ ......

×ªÔØ£­linux 2.6 ½ø³Ì×ܽá


×ªÔØ£­linux 2.6 ½ø³Ì×ܽá
 
 
½ø³Ì¡¢ÇáÁ¿¼¶½ø³Ì£¨LWP£©¡¢Ïß³Ì
½ø³Ì£º³ÌÐòÖ´ÐÐÌ壬ÓÐÉúÃüÆÚ£¬ÓÃÀ´·ÖÅä×ÊÔ´µÄʵÌå
Ị̈߳º·ÖÅäCPUµÄʵÌå¡£
  Óû§¿Õ¼äʵÏÖ£¬Ò»¸öÏß³Ì×èÈû£¬ËùÓж¼×èÈû¡£
  ÄÚºËʵÏÖ£¬²»»áËùÓÃÏà¹ØÏ̶߳¼×èÈû¡£ÓÃLWPʵÏÖ£¬ÓÃÏß³Ì×é±íʾÕâЩÏß³ÌÂß¼­ÉÏËùÊôµÄ½ø³Ì¡£ ......

×ªÔØ linux 2.6Äں˽ø³Ì¹ÜÀí


linux 2.6Äں˽ø³Ì¹ÜÀí
 
 
linuxÿ¸ö½ø³Ì¶ÔÓ¦Ò»¸ötask_structÀàÐͽṹ¡£¸Ã½á¹¹°üº¬½ø³ÌÏà¹ØµÄËùÓÐÐÅÏ¢¡£linux½ø³Ìͨ¹ýlist_head×é֯˫ÏòÁ´±í£¬Ã¿Ò»¸ö½áµã¾ÍÊÇÒ»¸ö½ø³ÌÃèÊö·û¡£½ø³ÌÃèÊö·ûÀïÃæ°üº¬Á˽ø³ÌËùÓеÄÐÅÏ¢£º½ø³ÌËù´ò¿ªµÄÎļþ¡¢½ø³ÌµÄµØÖ·¿Õ¼ä¡¢¹ÒÆðÐźš¢½ø³Ì״̬ºÍÆäËû¸ü¶àµÄÐÅÏ¢¡£ÒÔÏÂÊǽø³ÌÃèÊö· ......

linux Öжϴ¦Àí

Öжϴ¦Àí 
¡¡¡¡Í¬´¦ÀíI/O¶Ë¿ÚÒ»Ñù£¬ÒªÊ¹ÓÃÒ»¸öÖжϣ¬±ØÐëÏÈÏòϵͳµÇ¼Ç¡£ 
int request_irq(unsigned int irq £¬void(*handle)(int£¬void *£¬struct pt_regs *)£¬
unsigned int long flags£¬ const char *device£¬void *dev_id); 
irq ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ