WindowsÍê³É¶Ë¿ÚÓëLinux epoll¼¼Êõ¼ò½é
WindowsÍê³É¶Ë¿ÚÓëLinux epoll¼¼Êõ¼ò½é
2009-09-16 09:13
WINDOWSÍê³É¶Ë¿Ú±à³Ì
1¡¢»ù±¾¸ÅÄî
2¡¢WINDOWSÍê³É¶Ë¿ÚµÄÌØµã
3¡¢Íê³É¶Ë¿Ú£¨Completion Ports £©Ïà¹ØÊý¾Ý½á¹¹ºÍ´´½¨
4¡¢Íê³É¶Ë¿ÚÏ̵߳Ť×÷ÔÀí
5¡¢WindowsÍê³É¶Ë¿ÚµÄʵÀý´úÂë
LinuxµÄEPollÄ£ÐÍ
1¡¢ÎªÊ²Ã´selectÂäºó
2¡¢ÄÚºËÖÐÌá¸ßI/OÐÔÄܵÄз½·¨epoll
3¡¢epollµÄÓŵã
4¡¢epollµÄ¹¤×÷ģʽ
5¡¢epollµÄʹÓ÷½·¨
6¡¢LinuxÏÂEPOll±à³ÌʵÀý
×ܽá
WINDOWSÍê³É¶Ë¿Ú±à³Ì
ÕªÒª£º¿ª·¢ÍøÂç³ÌÐò´ÓÀ´¶¼²»ÊÇÒ»¼þÈÝÒ×µÄÊÂÇ飬¾¡¹ÜÖ»ÐèÒª×ñÊØºÜÉÙµÄһЩ¹æÔò;´´½¨socket,·¢ÆðÁ¬½Ó£¬½ÓÊÜÁ¬½Ó£¬·¢ËͺͽÓÊÜÊý¾Ý¡£ÕæÕýµÄÀ§ÄÑÔÚÓÚ£º ÈÃÄãµÄ³ÌÐò¿ÉÒÔÊÊÓ¦´Óµ¥µ¥Ò»¸öÁ¬½Óµ½¼¸Ç§¸öÁ¬½ÓÄËÖÁÓÚÉÏÍò¸öÁ¬½Ó¡£ÀûÓÃWindowsƽ̨Íê³É¶Ë¿Ú½øÐÐÖØµþI/OµÄ¼¼ÊõºÍLinuxÔÚ2.6°æ±¾µÄÄÚºËÖÐ ÒýÈëµÄEPOll¼¼Êõ£¬¿ÉÒԺܷ½±ãÔÚÔÚÔÚWindowsºÍLinuxƽ̨ÉÏ¿ª·¢³öÖ§³Ö´óÁ¿Á¬½ÓµÄÍøÂç·þÎñ³ÌÐò¡£±¾ÎĽéÉÜÔÚWindowsºÍLinuxƽ̨ ÉÏʹÓõÄÍê³É¶Ë¿ÚºÍEPollÄ£ÐÍ¿ª·¢µÄ»ù±¾ÔÀí£¬Í¬Ê±¸ø³öʵ¼ÊµÄÀý×Ó¡£±¾ÎÄÖ÷Òª¹Ø×¢C/S½á¹¹µÄ·þÎñÆ÷¶Ë³ÌÐò£¬ÒòΪһ°ãÀ´Ëµ£¬¿ª·¢Ò»¸ö´óÈÝÁ¿£¬¾ß¿ÉÀ©Õ¹ ÐÔµÄwinsock³ÌÐòÒ»°ã¾ÍÊÇÖ¸·þÎñ³ÌÐò¡£
1¡¢»ù±¾¸ÅÄî
É豸---windows²Ù×÷ϵͳÉÏÔÊÐíͨÐŵÄÈκζ«Î÷£¬±ÈÈçÎļþ¡¢Ä¿Â¼¡¢´®Ðпڡ¢²¢Ðпڡ¢Óʼþ²Û¡¢ÃüÃû¹ÜµÀ¡¢ÎÞÃû¹ÜµÀ¡¢Ì×½Ó×Ö¡¢¿ØÖÆÌ¨¡¢Âß¼´ÅÅÌ¡¢ÎïÀí ´ÅÅ̵ȡ£¾ø´ó¶àÊýÓëÉ豸´ò½»µÀµÄº¯Êý¶¼ÊÇCreateFile/ReadFile/WriteFileµÈ¡£ËùÒÔÎÒÃDz»ÄÜ¿´µ½**Fileº¯Êý¾ÍÖ»Ïëµ½Îļþ É豸¡£ÓëÉ豸ͨÐÅÓÐÁ½ÖÖ·½Ê½£¬Í¬²½·½Ê½ºÍÒì²½·½Ê½¡£Í¬²½·½Ê½Ï£¬µ±µ÷ÓÃReadFileº¯Êýʱ£¬º¯Êý»áµÈ´ýϵͳִÐÐÍêËùÒªÇóµÄ¹¤×÷£¬È»ºó²Å·µ»Ø£»Òì²½·½Ê½ Ï£¬ReadFileÕâÀຯÊý»áÖ±½Ó·µ»Ø£¬ÏµÍ³×Ô¼ºÈ¥Íê³É¶ÔÉ豸µÄ²Ù×÷£¬È»ºóÒÔijÖÖ·½Ê½Í¨ÖªÍê³É²Ù×÷¡£
ÖØµþI/O----¹ËÃû˼Ò壬µ±Äãµ÷ÓÃÁËij ¸öº¯Êý£¨±ÈÈçReadFile£©¾ÍÁ¢¿Ì·µ»Ø×ö×Ô¼ºµÄÆäËû¶¯×÷µÄʱºò£¬Í¬Ê±ÏµÍ³Ò²ÔÚ¶ÔI/0É豸½øÐÐÄãÒªÇóµÄ²Ù×÷£¬ÔÚÕâ¶Îʱ¼äÄÚÄãµÄ³ÌÐòºÍϵͳµÄÄÚ²¿¶¯×÷ÊÇ ÖØµþµÄ£¬Òò´ËÓиüºÃµÄÐÔÄÜ¡£ËùÒÔ£¬ÖصþI/OÊÇÓÃÓÚÒì²½·½Ê½ÏÂʹÓÃI/OÉ豸µÄ¡£ ÖØµþI/OÐèҪʹÓõÄÒ»¸ö·Ç³£ÖØÒªµÄÊý¾Ý½á¹¹OVERLAPPED¡£
2¡¢WINDOWSÍê³É¶Ë¿ÚµÄÌØµã
Win32ÖØµþI/O(Overlapped I/O)»úÖÆÔÊÐí·¢ÆðÒ»¸ö²Ù×÷£¬È»ºóÔÚ²Ù×÷Íê³ÉÖ®ºó½ÓÊܵ½ÐÅÏ¢¡£¶ÔÓÚÄÇÖÖÐèÒªºÜ³¤Ê±¼ä²ÅÄÜÍê³ÉµÄ²Ù×÷À´Ëµ£¬ÖصþIO»úÖÆÓÈÆäÓÐÓã¬ÒòΪ·¢ÆðÖØµþ²Ù×÷µÄÏß
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Òò¹¤×÷ÐèÒª¾³£Òª²éÕÒÕâЩ·þÎñÓÃ;£¬Òò´Ë½«ÍøÉϵÄһЩÁÐ±í½øÐÐÏàÓ¦ÊÕ¼¯ÕûÀí£¬·½±ã²éÔÄ
²»Òª¹Ø±ÕÒÔÏ·þÎñ£¨³ý·ÇÄãÓгä×ãµÄÀíÓÉ£©£º
acpid, haldaemon, messagebus, klogd, network, syslogd
ÇëÈ·¶¨Ð޸ĵÄÊÇÔËÐм¶±ð 3 ºÍ 5¡£
NetworkManager, NetworkManagerDispatcher
&nbs ......
1¡¢Îļþϵͳ£ºext2 ext3 reiserfs xfsµÈ
¡¡¡¡2¡¢·¶Î§£ºÌáʾÎļþϵͳÐèÒªFSCKʱ£¬Î´Ö´ÐлòFSCKÖ´ÐÐÍê³É
¡¡¡¡[Ö¢×´]
¡¡ ¡¡1¡¢ÎÞ·¨MOUNT·ÖÇø£»
¡¡ ¡¡2¡¢´óÁ¿Îļþ¡¢Ä¿Â¼¶ªÊ§£¬¸ùĿ¼ÏÂÉú³É/LOST FOUNDÎļþ¼Ð£¬ÀïÃæÓдóÁ¿#XXXXXXÀàµÄÎļþºÍĿ¼£»
¡¡ ¡¡3¡¢FSCKºÜ¿ì±¨´íÍê³É£»
¡¡ ¡¡4¡¢FSCKÖ´ÐÐʱ£¬ÓдóÁ¿Ìáʾ£¬ÈçÐ޸Ľڵ㡠......
ÔÚLinuxµÄc±à³ÌÖдó¼Ò¾³£ÓÃgdbµ÷ÊÔ³ÌÐò£¬ÒÔÏÂÊÇһЩ³£ÓõÄÖ¸Áî 1.break FUNCTION ÔÚij¸öº¯ÊýÉÏÉèÖöϵ㡣º¯ÊýÖØÔØÊ±£¬ÓпÉÄÜͬʱÔÚ¼¸¸öÖØÔØµÄº¯ÊýÉÏÉèÖÃÁ˶ϵã
break +OFFSET break -OFFSET ÔÚµ±Ç°³ÌÐòÔËÐе½µÄǰ¼¸Ðлòºó¼¸ÐÐÉèÖöϵã
break LINENUM ÔÚÐкÅΪLINENUMµÄÐÐÉÏÉèÖöϵã
break FILENAME:LINENUM ÔÚÎļþÃûÎ ......
´Ó
Linux 2.6
ÆðÒýÈëÁËÒ»Ì×еÄÇý¶¯¹ÜÀíºÍ×¢²á»úÖÆ :Platform_device
ºÍ Platform_driver
¡£
Linux
Öд󲿷ֵÄÉ豸Çý¶¯£¬¶¼¿ÉÒÔʹÓÃÕâÌ×»úÖÆ ,
É豸ÓÃ
Platform_device
±íʾ£¬Çý¶¯ÓÃ
Platform_driver
½øÐÐ×¢²á¡£
Linu ......