[¸ßÐÔÄܼ¼Êõ] Linux2.6ÄÚºËepoll½éÉÜ(0.1°æ±¾)
[¸ßÐÔÄܼ¼Êõ] Linux2.6ÄÚºËepoll½éÉÜ(0.1°æ±¾)
ת×Ô£º http://mechgouki.blogdriver.com/mechgouki/601157.html
[×÷Õß]£ºëøêÅ,2005/3/30,0.1°æ±¾
[°æÈ¨ÉùÃ÷]£º´ËÎĵµ×ñÑGNU×ÔÓÉÎĵµÐí¿ÉÖ¤(GNU Free Documentation License).ÈκÎÈË¿ÉÒÔ×ÔÓɸ´ÖÆ,·Ö·¢,ÐÞ¸Ä,²»¹ýÈç¹û·½±ã,Çë×¢Ã÷³ö´¦ºÍ×÷Õß:)
(1)µ¼ÑÔ£º
Ê×ÏÈ£¬ÎÒÇ¿ÁÒ½¨Òé´ó¼ÒÔĶÁRichard StevensÖø×÷¡¶TCP/IP Illustracted Volume 1,2,3¡·ºÍ¡¶UNIX Network Programming Volume 1,2¡·¡£ËäÈ»ËûÀ뿪ÎÒÃÇ´ó¼ÒÒѾ5Äê¶àÁË£¬µ«ÊÇËûµÄÊéÒÀÈ»ÊǽøÈëÍøÂç±à³ÌµÄ×îÖ±½ÓµÄµÀ·¡£ÆäÖеÄ3¾íµÄ¡¶TCP/IP Illustracted¡·¾í1ÊDZضÁ£Èç¹ûÄã²»Á˽âtcpÐÒé¸÷¸öÑ¡ÏîµÄÏêϸ¶¨Ò壬Äã¾ÍʧȥÁËÓÅ»¯³ÌÐòÖØÒªµÄÒ»¸öÊֶΡ£¾í2,3¿ÉÒÔÑ¡¶Áһϡ£±ÈÈç¾í2½²½âµÄÊÇ4.4BSDÄÚºËTCP/IPÐÒéջʵÏÖ----Õâ¸ö°æ±¾µÄÐÒéÕ»¼¸ºõÓ°ÏìÁËÏÖÔÚËùÓеÄÖ÷Á÷os£¬µ«ÊÇÒòΪÄê´ú¾ÃÔ¶£¬ÄÚÈݲ»Ò»¶¨ÄÇôvogue.ÔÚÕâÀïÎÒ¶àÍÆ¼öÒ»±¾¡¶The Linux Networking Architecture--Design and Implementation of Network Protocols in the Linux Kernel¡·£¬ÒÔ2.4Äں˽²½âLinux TCP/IPʵÏÖ£¬Ï൱²»´í.×÷Ϊһ¸öÏÖʵÊÀ½çÖеÄʵÏÖ£¬ºÜ¶àʱºòÄã±ØÐë×÷ºÜ¶àȨºâ£¬Õâʱºò²Î¿¼Ò»¸ö¾Ã¾¿¼ÑéµÄϵͳ¸üÓÐʵ¼ÊÒâÒå¡£¾Ù¸öÀý×Ó,linuxÄÚºËÖÐsk_buff½á¹¹ÎªÁË×·ÇóËٶȺͰ²È«£¬ÎþÉüÁ˲¿·ÖÄڴ棬ËùÒÔÔÚ·¢ËÍTCP°üµÄʱºò£¬ÎÞÂÛÓ¦ÓòãÊý¾Ý¶à´ó,sk_buff×îСҲÓÐ272µÄ×Ö½Ú.
Æäʵ¶ÔÓÚsocketÓ¦Óòã³ÌÐòÀ´Ëµ£¬¡¶UNIX Network Programming Volume 1¡·ÒâÒå¸ü´óÒ»µã.2003ÄêµÄʱºò£¬Õâ±¾Êé³öÁË×îеĵÚ3°æ±¾£¬²»¹ýÖ÷Òª»¹ÊÇÐÞ¶©µÚ2°æ±¾¡£ÆäÖеÚ6Õ¡¶I/O Multiplexing¡·ÊÇ×îÖØÒªµÄ¡£Stevens¸ø³öÁËÍøÂçIOµÄ»ù±¾Ä£ÐÍ¡£ÔÚÕâÀï×îÖØÒªµÄιýÓÚselectÄ£ÐͺÍAsynchronous I/OÄ£ÐÍ.´ÓÀíÂÛÉÏ˵£¬AIOËÆºõÊÇ×î¸ßЧµÄ£¬ÄãµÄIO²Ù×÷¿ÉÒÔÁ¢¼´·µ»Ø£¬È»ºóµÈ´ýos¸æËßÄãIO²Ù×÷Íê³É¡£µ«ÊÇÒ»Ö±ÒÔÀ´£¬ÈçºÎʵÏÖ¾ÍûÓÐÒ»¸öÍêÃÀµÄ·½°¸¡£×îÖøÃûµÄwindowsÍê³É¶Ë¿ÚʵÏÖµÄAIO,ʵ¼ÊÉÏÒ²ÊÇÄÚ²¿ÓÃÏ̳߳ØÊµÏֵİÕÁË£¬×îºóµÄ½á¹ûÊÇIOÓиöÏ̳߳أ¬ÄãÓ¦ÓÃÒ²ÐèÒªÒ»¸öÏ̳߳Ø......ºÜ¶àÎĵµÆäʵÒѾָ³öÁËÕâ´øÀ´µÄÏß³Ìcontext-switch´øÀ´µÄ´ú¼Û¡£
ÔÚlinuxƽ̨ÉÏ£¬¹ØÓÚÍøÂçAIOÒ»Ö±ÊǸ͝×î¶àµÄµØ·½£¬2.4µÄÄê´ú¾ÍÓкܶàAIOÄÚºËpatch,×îÖøÃûµÄÓ¦¸ÃËãÊÇSGIÄǸö¡£µ«ÊÇÒ»Ö±µ½2.6Äں˷¢²¼£¬ÍøÂçÄ£¿éµÄAIOһֱûÓнøÈëÎȶ¨Äں˰汾(´ó²¿·Ö¶¼ÊÇʹÓÃÓû§Ïß³ÌÄ£Äâ·½·¨£¬ÔÚʹÓÃÁËNPTLµÄlinuxÉÏÃæÆäʵºÍwindowsµÄÍê³É¶Ë¿Ú»ù±¾Éϲ¶àÁË)¡£2.6ÄÚºËËùÖ§³ÖµÄAIOÌØÖ¸
Ïà¹ØÎĵµ£º
ÔÚlinuxÏÂopengl±à³Ì£¬Ê×ÏÈÐèÒª°²×°glut°ü¡£
1 °²×°glut
£¨1£©ÏÂÔØµØÖ·£º
http://fidelio.cacs.louisiana.edu/resources/linux/glut.zip
£¨2£©½«glut.zip½âѹ£º
unzip glut.zip
½âѹºó£¬ÀïÃæÓÐÒ»¸örpm°²×°°ü£¬Ò»¸ö²âÊÔÎļþ£¬Ò»¸öglut.h,Ò»¸ömakefile, Õ⼸¸öÎļþ¶¼·Ç³£ÖØÒª¡£
£¨3£©°²×°£º
rpm -i glut-3.7-8.i386. ......
ÏßÐÔ—ÎïÀíµØÖ·µÄת»»£¬¿É½«ÆäÒâÒåÀ©Õ¹ÎªÔÊÐí½«Ò»¸öÏßÐÔµØÖ·±ê¼ÇΪÎÞЧ£¬¶ø²»ÊÇʵ¼ÊµØ²úÉúÒ»¸öÎïÀíµØÖ·¡£ÓÐÁ½ÖÖÇé¿ö¿ÉÄÜʹҳ±»±ê¼ÇΪÎÞЧ£ºÆäÒ»ÊÇÏßÐÔµØÖ·ÊDzÙ×÷ϵͳ²»Ö§³ÖµÄµØÖ·£»Æä¶þÊÇÔÚÐéÄâ´æ´¢Æ÷ϵͳÖУ¬ÏßÐÔµØÖ·¶ÔÓ¦µÄÒ³´æ´¢ÔÚ´ÅÅÌÉÏ£¬¶ø²»ÊÇ´æ´¢ÔÚÎïÀí´æ´¢Æ÷ÖС£ÔÚǰһÖÖÇé¿öÏ£¬³ÌÐòÒò²úÉúÁËÎÞЧµØÖ·¶ø±ØÐë±»Ö ......
Ò»ÄêÒ»¶ÈµÄLinux¿ª·¢Õß´ó»áÉÏÖÜÔھɽðɽ¾ÙÐУ¬»áÉÏLinux»ù½ð»áÖ´ÐÐÀíÊÂJim Zemlin±íʾ£¬µÃÒæÓÚÔÆ¼ÆËãÒÔ¼°ÆäËü¿Æ¼¼³±Á÷µÄ³öÏÖ£¬LinuxµÄÊг¡µØÎ»Ê®·ÖÎȹ̣¬È»¶øÒ»Ð©Ö÷ÒªµÄά»¤ÈËÔ±ÒѾÈÕ½¥²ÔÀÏ£¬ºó¼ÌÕßÈ´»¹Ã»ÓгÉÊì¡£
sysfsÄÚºË×Óϵͳά»¤ÕßGrey Kroah-HartmanÖ¸³ö£º“ÉϲãµÄÈËÔ±ÈÔȻà ......
man¾ÍÊÇmanualµÄËõд£¬ÓÃÀ´²é¿´ÏµÍ³ÖÐ×Ô´øµÄ¸÷Öֲο¼Êֲᡣ
Ò»¡¢ËµÃ÷
1£¬ÊÖ²áÒ³·ÖΪºÃ¼¸¸ö²¿·Ö£¬ÈçÏÂËùʾ£º
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File fo ......
http://blog.chinaunix.net/u/24474/showart_227121.html
Çý¶¯³ÌÐòʹÓÃtasklet»úÖÆ
ת×Ô£ºhttp://blog.chinaunix.net/u/15169/showart.php?id=82989
Çý
¶¯³ÌÐòÔÚ³õʼ»¯Ê±£¬Í¨¹ýº¯Êýtask_init½¨Á¢Ò»¸ötasklet£¬È»ºóµ÷Óú¯Êýtasklet_schedule½«Õâ¸ötasklet·ÅÔÚ
tasklet_vecÁ´±íµÄÍ·²¿£¬²¢»½ÐѺǫ́Ïß³Ìksoftirqd¡£µ±ºóÌ¨Ï ......