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»úÖÆÓÈÆäÓÐÓã¬ÒòΪ·¢ÆðÖØµþ²Ù×÷µÄÏß
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
PS1£º¾ÍÊÇÓû§Æ½Ê±µÄÌáʾ·û¡£
¡¡¡¡PS2£ºµÚÒ»ÐÐûÊäÍ꣬µÈ´ýµÚ¶þÐÐÊäÈëµÄÌáʾ·û¡£
¡¡¡¡LinuxϵͳÌáʾ·ûÊÇÓÃϵͳ±äÁ¿PS1À´¶¨ÒåµÄ¡£Ò»°ãϵͳĬÈϵÄÐÎʽÊÇ£º[username@host ¹¤×÷Ŀ¼]$.
¡¡¡¡ÓÃecho $PS1¿ÉÒԵõ½PS1µÄÖµ£¬¼´PS1="[\u@\h \w]"\$
¡¡¡¡µÇ¼ºó¿ÉÒÔ¸ü¸ÄPS1µÄÏÔʾÑùʽ£¬µ«Êǵ±Í˳öÖØÆôµÇ¼½øÈëϵͳºó£¬ÑùʽÓÖ±ä³ ......
LinuxÏµĶ¨Ê±Æ÷ÓÐÁ½ÖÖ£¬ÒÔÏ·ֱð½éÉÜ£º
1¡¢alarm
Èç¹û²»ÒªÇóºÜ¾«È·µÄ»°£¬ÓÃalarm()ºÍsignal()¾Í¹»ÁË
unsigned int alarm(unsigned int seconds)
º¯Êý˵Ã÷: alarm()ÓÃÀ´ÉèÖÃÐźÅSIGALRMÔÚ¾¹ý²ÎÊýsecondsÖ¸¶¨µÄÃëÊýºó´«Ë͸øÄ¿Ç°µÄ½ø³Ì¡£Èç¹û²ÎÊýsecondsΪ0£¬Ôò֮ǰÉèÖõÄÄÖÖӻᱻȡÏû£¬²¢½«Ê£ÏµÄʱ¼ä·µ»Ø¡£
·µ»ØÖµ: ......