BBSˮľÇ廪վ¡Ã¾«»ªÇø

·¢ÐÅÈË: fzhang (ÀÏÌú), ÐÅÇø: Linux        
±ê  Ìâ: Re: ÔÙÂÛ"¶ÔlinuxµÄÖÊÁ¿ÖÊÒÉ" 
·¢ÐÅÕ¾: BBS Ë®Ä¾Ç廪վ (Fri Jul 30 22:05:49 1999) 
 
¡¾ ÔÚ nudtbegger (¾üÈË) µÄ´ó×÷ÖÐÌáµ½: ¡¿ 
¡Ã    Òì²½IO×î´óµÄʵÏÖ±³¾°Ó¦¸ÃÊÇÍøÂçÓ¦Óðɣ¬ÌرðÊÇSERVER£¨WEB£¬FTP£¬ 
¡Ã    1µÈ´ý¶à¸öʼþµÄÄÜÁ¦£¬SELECTÊÇLINUXʵÏÖµ¥Ï̶߳ԶàÇëÇóµÄΨһ·½·¨£¬ 
¡Ã £¨Èô²»¶Ô£¬ÇëÖ¸³ö£©¡£ÏµÍ³ÓÃSELECTÔÚʼþµ½À´£¨eg.µ±Ò»¸öREQUESTµ½À´Ê±£© 
¡Ã Í¨ÖªËùÓеĵȴýͬһʼþµÄỊ̈߳¬µ«ÊÇÈ´Ö»ÓÐÒ»¸öÏß³ÌÄÜ´¦Àí¡£ÕâÑùÓм¸¸ö 
¡Ã ¿ªÏú£¬1£¬»½ÐѵöÏß³ÌҪͬ²½£¬×îºóÖ»ÄÜÓÉÒ»¸öÏß³ÌÀ´Íê³É·þÎñ¡£2£¬ÓР
¡Ã ²»ÉÙÏ̱߳¾À´Ö»ÒªË¯Ãß¾ÍÐУ¬½á¹ûÈ´±»»½ÐÑ£¬ËäÈ»ºÜ¿ì¾ÍÓÖ½Ó×ŵȴý£¬µ«ÊÇ 
¡Ã CPUʱ¼äÓÖÏûºÄ²»ÉÙ¡£ÓÐÁËÕâÁ½´óÏÞÖÆ£¬ÎÒµÄÒ»¸öʦÐÖ¸æËßÎÒ˵£¬Ò»°ã¶¼ÊÇ 
¡Ã ÓÃÒ»¸öÏß³ÌÊØºî£¬µ±À´ÁËREQUEST£¬¾Í֪ͨÁíÒ»¸öÏß³ÌÊØºî£¬×Ô¼º´¦Àí£¬»òÕß 
¡Ã Í¨ÖªÁíÒ»¸öÏ߳ʴ¦Àí£¬×Ô¼º½Ó×ÅÊØºî¡£ÕâÑùÈÔÈ»Ôö¼ÓÁË¿ªÏú¡£Èç¹ûLINUX 
¡Ã ÏóNTÄÇÑù£¬ÌṩÄܹ»Ö»»½ÐÑÒ»¸öÏ̵߳ĺ¯Êý£¬ÎÞÒɽ«Ìá¸ß´¦ÀíREQUESTµÄЧÂÊ¡£ 
Yes, it is true in Linux2.2, but will not in 2.4(we can expect it this fall): 
The Linux model of network sockets is one common across most UNIX variants  
which adhere to the standards. This is not to say that the standard doesn't  
have some deficiencies. Under Linux 2.2, if you have a number of processes  
all waiting on an event from a network socket (a web port, for instance)  
they will all be woken up when activity is detected. So, for every web page  
request, a number of web server processes will suddenly wake up and try and  
get at the request... only one will succeed. The losers of the herd will put  
themselves back to sleep and wait for the next connection.  Linux is a terribly  
efficient system and manages to wake up all these processes, give the resource  
to one of them, and put the remainder back to sleep very quickly, however  
benchmarks have shown that we could be more efficient if we eliminated the  
"stampede effect." Thus, the Linux minds cast about for a solution and decided 
 to implement "wake one" under Linux. This change allows programs to let Linux 
know that they should be the only one to be woken up in the case of activity.  
It is expected that by the time Linux 2.4 ships, Apache and other similar se 
rvers will begin using this new functionality to increase the efficiency of  
what they do.   
 
¡Ã    2Òì²½IOµÄÄÜÁ¦¡£ÕæÕýµÄÒì²½IOºÍ·Ç×èÈûIOÊDz»Í¬µÄ£¬LINUXÏÂʵÏֵľ͠
¡Ã ÊÇ·Ç×èÈûIO¡£LINUXÏÂÒ»¸öÍøÂçÏß³ÌÖ´ÐÐÁË·Ç×èÈûIO¶Á£¬´ÓÁ¬½ÓÖжÁÈ¡CLIENT 
¡Ã µÄÊý¾Ý£¬µ«ÊÇ£¬ÕâʱCLIENTµÄÊý¾Ý»¹Î´µ½£¬¸ÃÏ߳̿ÉÒÔÖ´ÐÐÆäËûµÄ¹¤×÷£¬µ«ÊÇ£¬ 
¡Ã ¸ÃÏß³ÌÔÚÊý¾Ýµ½À´Ê±»¹ÒªÖ´ÐÐÒ»´Î¶Á£¬·ñÔò¾ÍµÃ²»µ½Êý¾Ý£¬Èç¹û²»ÖªµÀʲô 
¡Ã Ê±ºòÊý¾ÝÄܵ½£¬½«Ñ­»·µÈ´ý¡£µ«ÊÇÔÚÕæÕýµÄÒì²½IOÖУ¬Çé¿ö²»ÊÇÕâÑù£¬Ï̠߳
¡Ã Ö´ÐÐÒ»Ìõ¶Áºó£¬¾Í²»ÒªÔÚ¶Á£¬ÏµÍ³ÔÚÊý¾Ýµ½À´Ê±»á֪ͨÏ̡߳ 
ÖжÏÂð?ÄÇÊÇÒì²½Çý¶¯µÄ,Linux²»Ò²¿ÉÒÔÂð? 
µ«²Ù×÷ϵͳ¿ÉÒÔʹµÃÓû§³ÌÐò¾ßÓÐ×èÈûÓïÒåµÄ 
£ 
¡Ã ´ó¼Ò¶¼ÊìÖªWAITMULTIOBJECTºÍGETOVLAPPEDº¯Êý£¬ÎҾͲ»¶à˵ÁË¡£ 
¡Ã    3³¤Ê±¼äÒÔÀ´£¬ÎÒ¸öÈ˸оõ¾ÍÊÇLINUXµÄÖØÈëÐÔ²»ºÃ£¬µ±È»£¬ºÜ¶àÈ˶¼¸æËß 
¡Ã ÎÒ˵ҪÓ÷¢Õ¹µÄÑ۹⿴ÎÊÌ⣬µ«ÊÇ£¬ÎÒ¾õµÃ»¹ÊÇ·¢Õ¹µÄÌ«Âý¡£ÖØÈëÐÔ²»ºÃ´ø 
¡Ã À´µÄÖ±½ÓÎÊÌâ¾ÍÊǶദÀíÆ÷½â¾ö²»ºÃ£¬Õâ¸öÎÊÌâLINUXÉçÇø¶¼ÒѾ­³ÐÈÏ£¬ÎÒ 
¡Ã ²»ÔÙ¶à˵¡£ÎÒÖ»¼ÓÒ»ÌõNTµÄÀý×Ó¡£NT4µÄдº¯ÊýÔÚÍøÂçIOÖÐÖ»ÓкÜÉÙµÄÔÚ 
¡Ã Íø¿¨driverµÄº¯Êý²»¿ÉÖØÈ룬µ«ÊÇ£¬¾ÍÊÇÕâ¸öÎÊÌ⣬ʹµÄNTÔÚ4´¦ÀíÆ÷µÄSERVER 
¡Ã ÖкÍSOLARISÏà±È´¦ÓÚÏ·磬MSѸËÙµÄÍÆ³öÁËSP4£¬ºÍNT2000£¬½â¾öÁËÕâ¸öÎÊÌâ¡£ 
 
ÕæÓÐÒªÇóµÄ»°,LinusÍÆ³öµÄ»á¸ü¿ìµÄ 
 
¡Ã   LINUXµÄÄ¿±ê£¬ÎÒ¸öÈ˵Ŀ´·¨ÊÇLINUX¿Ï¶¨ÊÇÏëÔÚ´óÐÍ·þÎñÆ÷ÉÏºÍÆäËûOS 
¡Ã ¾ºÕùµÄ£¬µ«ÊǾÍLINUXĿǰµÄ״̬£¬»¹ÎÞ·¨ºÍNTºÍSUNOSÏà±È¡£PC WEEK×ö 
¡Ã µÄNT VS LINUX£¬µ±ÔÚ¶àCPU£¬¶àÍø¿¨µÄÇé¿öÏ£¬LINUX¸ù±¾²»ÄܺÍNT±È£¬ 
¡Ã ÔÚIT·¢Õ¹Èç´ËѸÃ͵ĽñÌ죬MSµÄ×ö·¨ÊǰÑ×ÊÔ´ºÄ¹â£¬ÕâÑù£¬Ó²ÅÌ£¬ 
¡Ã Äڴ淢չѸÃÍ£¬²Å»áÈç´ËµÄ±ãÒË£¬Èç¹ûNT2000ÔçµãÍÆ³ö£¬ÏÖÔÚÒ²Ðí»¹Òª¸ü±ãÒË¡£ 
 
Õâµ¹ÊÇ,²Ù×÷ϵͳ±ä»¯Í¦¿ìµÄ,µ«NTÌ«±¿ÖØÁË,¸ú²»ÉϰÉ,NT2000ÅÂÒªÄѲú 
 
 
-- 
¡ù À´Ô´:¡¤BBS Ë®Ä¾Ç廪վ bbs.net.tsinghua.edu.cn¡¤[FROM: 162.105.138.50] 

BBSˮľÇ廪վ¡Ã¾«»ªÇø