ºìÁªLinuxÃÅ»§
Linux°ïÖú

FreeBSD 8.0Õ¹Íû

·¢²¼Ê±¼ä:2008-07-17 00:02:36À´Ô´:ºìÁª×÷Õß:lfuture
FreeBSDµÄRobert N. M. WatsonÔÚ»ØÓ¦Ò»·â-hackersµÄÓʼþʱ¶Ô FreeBSD µÄ SMP ¹¤×÷½øÐÐÁ˻عˣ¬²¢¶Ô FreeBSD 8 ½øÐÐÁËһЩչÍû£º
ĿǰµÄ¾ø´ó¶àÊý²Ù×÷ϵͳ£¬¶¼ÊÇ´Óµ¥ CPU µÄÓ²¼þ¿ªÊ¼Æð¼ÒµÄ¡£Òò´Ë£¬Äں˵Äͬ²½Ä£ÐÍ£¬»ù±¾É϶¼ÊÇÕë¶ÔÖжϴ¦Àí³ÌÐò¡¢ I/O µ¼ÖµÄ×èÈûËù²úÉúµÄ²¢·¢£¬¶ø·ÇÕæÕýµÄ²¢Ðд¦Àí¶øÉè¼Æ¡£Ò»°ãÀ´Ëµ£¬ÕâÖÖÄ£ÐͰüÀ¨ÁË¡°½ûÖ¹Öжϡ±£¬ÓÐʱ»¹°üÀ¨¡°ÖжÏÓÅÏȼ¶¡±ÒԱ㴦Àí²»Í¬µÄÓÅÏȼ¶ºÍÑ¡ÔñÐÔÇÀÕ¼£¬ÒÔ¼°ÓÃÒÔ´¦Àíͬ²½²Ù×÷£¬ÈçʹÄÚºËÏ߳̽øÈëÐÝÃß״̬µÄ I/O µÈµÄ¼òµ¥µÄÐÝÃßËø¡£ÕýÈçÄãÒѾ­²Âµ½µÄÄÇÑù£¬ÕâÒ²ÊÇ BSD£¬°üÀ¨ FreeBSD ¿ªÊ¼ÕâЩ¹¤×÷µÄÆðµã¡£
Òò´Ë£¬ÔÚ²Ù×÷ϵͳÖÐÒýÈë SMP Ö§³ÖµÄµÚÒ»²½£¬ÍùÍù¾ÍÊÇÒýÈë¡°È«¾ÖËø£¨Giant lock£©¡±£¬Ê¹ÄÚºËÔÚͬһʱ¿ÌÊÂʵÉÏÖ»ÔÚÒ»¿Å CPU ÉÏÔËÐС£ÕâÑù×öµÄÄ¿µÄÊÇÔÚ SMP Ó²¼þÉÏÔËÐÐʱ£¬Äܹ»ÒÀȻʹÓà UP£¨µ¥´¦ÀíÆ÷£©Äں˵ÄÄÇЩ»ù±¾¼ÙÉè¡£ÕâʹµÃÓû§Ì¬³ÌÐòÄܹ»ÔËÐÐÔÚ¶à¸ö CPU ÉÏ£¬µ«ÄÚºËÔò²»ÄÜÒÔ²¢Ðз½Ê½ÔËÐС£ÔÚÄÚºËÖÐÒýÈëÕâÖֱ䶯Ïà¶Ô¶øÑԱȽÏÈÝÒ×£¬ÒòΪËü²»ÐèÒª¸Ä±äÕû¸öÄں˵Äͬ²½Ä£ÐÍ£¬¶øÖ»Ðè¼òµ¥µØ¼ÓÈëÈ«¾ÖËø¡¢ÐÞ¸ÄÓ²¼þ̽²âºÍÒýµ¼´úÂ룬´¦ÀíÖжϴ«µÝ¡¢TLB shootdownµÈµÈ¡£µ«ÊÇ£¬ÓÉÓÚÄÚºËÎÞ·¨´Ó²¢Ðд¦ÀíÖлñÒæ£¬Òò´Ë¶ÔÓڸ߶ÈÒÀÀµÄں˵IJÙ×÷¶øÑÔ£¬ÆôÓà SMP ³ýÁËÔö¼Ó¿ªÏúÖ®Í⣬ÒâÒå²»´ó¡£
Òò´Ë£¬ÒýÈë SMP Ö§³ÖµÄÏÂÒ»¸ö²½Ö裬±ãÊÇÐÞ¸ÄÄں˵Äͬ²½Ä£ÐÍ£¬Ê¹µÃËüµÄһЩ²¿·ÖÄܹ»ÔÚ¶à¸ö CPU ÉÏͬʱÔËÐУ¬²¢ÓÉ´Ë´øÀ´ÐÔÄÜÌáÉý¡£¶ÔÓÚ FreeBSD ¶øÑÔ£¬È«¾ÖËøÊÇÔÚ FreeBSD 3 ÒýÈëµÄ£¬ÎÒÃÇÔÚ FreeBSD 5 ÖпªÊ¼½«Æäϸ»¯¡£ÔÚ FreeBSD 6 ÖУ¬Äں˵ľø´ó¶àÊý×Óϵͳ¶¼ÒѾ­²»ÔÙʹÓÃÈ«¾ÖËø£¬¶øÔÚ FreeBSD 7 ÖУ¬ËøµÄϸ»¯½øÐÐÁ˸ü½øÒ»²½µÄÍÆ½ø¡£ÏÖÔÚ»¹ÓÐһЩ±ß½ÇµÄλÖÃÉÏ´æÔÚÈ«¾ÖËø£¬²»Ì«³£ÓõÄÎļþϵͳ¡¢Ò»Ð©½Ï¾ÉµÄÉ豸Çý¶¯£¬µÈµÈ£¬µ«¶àÊýÇé¿öÏ£¬ÒѾ­²»»áÔÙ¿´µ½ÕýÔÚÔËÐÐÓÉÈ«¾ÖËø±£»¤µÄ´úÂëÁË¡£ÐèҪ˵Ã÷µÄÊÇ£¬¼´Ê¹Ö»Êǽ«ÄÚºËÖÐ 1/2 µÄ²¿·ÖÖеÄÈ«¾ÖËøÏ¸»¯£¬Ò²»áÏÔÖøµØ¸ÄÉÆÈ«¾ÖËø±£»¤µÄ´úÂëÐÔÄÜ£¬ÒòÎªËøµÄ³åײ»ú»á¼õÉÙÁË¡£
Ŀǰ£¬È«¾ÖËøÒѾ­Öð½¥±»Èõ»¯³ÉÁ˱£»¤ tty¡¢ newbus¡¢ usb ºÍ msdosfs ´úÂëµÄËø£¬²¢ÇÒ£¬Ïû³ýÈ«¾ÖËøµÄ¹¤×÷£¬ÒѾ­´øÀ´ÁËÏÔÖøµÄÐÔÄÜÌáÉý¡£ÔÚ FreeBSD 7 ÖУ¬ÎÒÃǵŤ×÷ÖØµã£¬ÒѾ­´ÓÏû³ýÈ«¾ÖËø£¬×ªÒƵ½ÁËÓÅ»¯ÉÏËøÔ­Óï¡¢µ÷¶ÈÆ÷ÒÔ¼°ËøÁ£¶ÈÉÏ¡£ÀýÈ磬ÔÚ FreeBSD 7 ÉÏ MySQL µÄÐÔÄܸĽø£¬¶àÊý¶¼¹é¹¦ÓÚÏÂÃæ¼¸¸öÓÐÏ޵ı䶯£º
ÓÉ M:N Ïß³ÌתΪ 1:1 Ïß³ÌÄ£ÐÍ¡£
¶ÔÓÚ sx(9) ÐÝÃßËøÔ­ÓïµÄ´ó·ù¸Ä½ø¡£
ÒýÈëÁ˸ßЧµÄ·ÇÐÝÃß rw(9) ÉÏËøÔ­Óï¡£
½«ÄÚºËÖÐÎļþÃèÊö·û±íµÄÉÏËø·½Ê½¸ÄΪʹÓõͿªÏúµÄ sx(9) Ô­ÓÒÔ¼°Í¨¹ý½«ÉÏËø²Ù×÷ϸ·ÖΪ¶ÁдÁ½ÖÖËù´øÀ´µÄ¸ÄÉÆ¡£
½« UNIX domain socket ¸ÄΪϸÁ£¶ÈÉÏËøÄ£ÐÍ¡£
ÓÉÓÚÒýÈë ule(4) µ÷¶ÈÆ÷´øÀ´µÄ´ó·ù¿ÉÉìËõÐÔ¸ÄÉÆ¡£
ÔÚ FreeBSD 8 ÖУ¬ÎÒÃǽ«¼ÌÐø¶ÔÉÏËøÁ£¶ÈºÍÄں˲¢ÐÐÐÔ·½Ãæ½øÐиĽø£¬ÒÔ¸üºÃµØÔÚ¸ü¶à CPU ³ØÖзÖ̯¸ºÔØ¡£¶àºË¡¢¶à´¦ÀíÆ÷оƬÕýÔÚѸËÙÆÕ¼°£¬Òò´Ë¶à´¦ÀíÆ÷ϵͳµÄÐÔÄܷdz£ÖµµÃÉîÈëÍÚ¾ò¡£Ò²¾ÍÊÇ˵£¬¾¡¹ÜĿǰÎÒÃÇËù×öµÄ¹¤×÷ÒѾ­È¡µÃÁËÏ൱´óµÄ³ÉЧ£¬ÎÒÃÇÈÔÈ»ÐèÒª¼ÌÐøÍÚ¾ò¶à´¦ÀíÆ÷Ó²¼þ£¬ÌرðÊÇÔÚÍøÂçЭÒéÕ»·½ÃæµÄDZÄÜ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ