Linux 2.6Äں˵ľ«²ÊÊÀ½çÈ«¼¯

×÷Õß: cha 2005-08-08 00:25:32
Linux 2.6Äں˵ľ«²ÊÊÀ½ç(Ò»)
2003ÄêËêÄ©£¬LinuxÉçÇø×î¹ÄÎèÈËÐĵÄÏûϢĪ¹ýÓÚÆÚÅÎÒѾõÄLinuxÄÚºË2.6°æÕýʽÍƳö¡£×÷Ϊһ¸öÖ÷Òª·¢²¼°æ±¾£¬2.6Ïà¶ÔÓÚ2.4ÓкܴóµÄ¸Ä¶¯£»ËüÒýÈëÁËÐí¶àеÄÌØÐÔ£¬Í¬ÑùҲȥ³ýºÜ¶à¹ýʱµÄÌØÐÔ¡£

ËüÔÚÄÄЩ·½ÃæÓдóµÄ¸Ä¶¯£¿Ëü¶ÔLinuxµÄ¿ª·¢ÈËÔ±ÒÔ¼°ÆäËû²ãÃæµÄLinuxÓû§¿ÉÄÜÓÐʲôÑùµÄÓ°Ï죿ÔĶÁ±¾ÎÄ£¬Äú½«µÃµ½´ð°¸¡£--ÒëÕß

¾¡¹ÜÎÒÃǵÚÒ»´ÎÆô¶¯Linux 2.4ËƺõÖ»ÊÇ×òÌìµÄÊ£¬Ê±¼äÒѾ­Á÷×ߣ¬Äں˿ª·¢ÍŶӵÄ2.6°æÄں˿ª·¢¹¤×÷ÒѾ­½Ó½üÍê³ÉÁË¡£±¾ÎĽ«ÊÔͼÃèÊö2.6ÄÚºËÖеÄÐí¶àÐÂÌØÐÔ£¨²àÖØi386ƽ̨µÄLinux£©¡£ºÍ·â±ÕÔ´ÂëµÄÈí¼þµÄÔ¤·¢²¼²»Ò»ÑùµÄÊÇ£¬ÕâÀïËùÃèÊöµÄËùÓÐÌØÐÔµ±Ç°¶¼ÊÇ2.5°æÄں˿ª·¢Ê÷ÖпÉÓõģ¨ÆäÖÐһЩµÄbugÉÙһЩ£¬ÁíһЩbug¶àһЩ£©¡££¨°´ÕÕLinuxµÄ´«Í³£¬Å¼Êý°æ±¾µÄÄÚºËÊÇÎȶ¨µÄ£¬ÆæÊý°æ±¾µÄÖ»ÊÇ¿ª·¢Óõģ©¡£Ò²¾ÍÊÇ˵£¬ÕâÀïËùÃèÊöµÄһЩÌØÐÔÔÚʵ¼ÊµÄ2.6°æ±¾ÖÐÈÔ¿ÉÄܱ»È¥³ý»ò±ê־Ϊ"experimental"(ÊÔÑéÐÔ)¡£È»¶øÄں˵±Ç°´¦ÓÚÌØÐÔ¶³½á£¨feature-freeze£©Ê±ÆÚ£¬×îÖյķ¢Ðа汾Ӧ¸Ã²»´ó¿ÉÄܹýÓÚÆ«ÀëÕâÀïµÄÃèÊö¡£Í¬Ê±Ò²Ó¦¸ÃÇå³þÕâÀïÃèÊöµÄһЩ"ÐÂ"ÌØÐÔÔÚµÚÒ»´Î³öÏÖÔÚ2.6ϵÁÐÄں˺󣬿ÉÄܱ»ÏòºóÒÆÖ²µ½Á˹ٷ½µÄ»òÕß·¢Ðа湩ӦÉ̵Ä2.4°æÄÚºËÖ®ÖС£

»òÐíʹµÃÕâƪÎÄÕ¸üΪ»ÞɬµÄÊÇ£¬¼´½«µ½À´µÄÄں˵İ汾ºÅÖÁ½ñÈÔδȷ¶¨¡£×î¿ÉÄÜʹÓõİ汾ºÅÊÇ2.6£¬µ«ÊÇһЩÈËÌáÒé°æ±¾ºÅ¿ÉÒÔʹÓÃ3.0£¬ÒòΪÕâ¸ö°æ±¾Öаüº¬ÁËNUMAÒÔ¼°ÎÞMMUϵͳµÄÖ§³Ö¡£ÎªÂÛÊö·½±ã£¬±¾ÎĽ«Ò»Ö±Ê¹ÓÃ2.6×÷Ϊ¼´½«µ½À´µÄÄں˵İ汾ºÅ¡£

ÄúÕýÔÚÔĶÁµÄÊDZ¾Îĵµ£¨¡¶Linux 2.6Äں˵ľ«²ÊÊÀ½ç¡·£©·ÇÕýʽ°æµÄµÚÒ»°æ£¬Íê¸åÓÚ2003Äê7ÔÂ13ÈÕ£¬»ùÓÚ2.5.75¿ª·¢°æÄںˡ£Ëæ×ÅLinuxÄÚºË×îºó¹¤×÷µÄÍê³É£¬Õâ·ÝÎĵµ½«·¢²¼ÆäËû·ÇÕýʽ°æ£¬µ«ÊÇÕâ·ÝÎĵµµÄÕýʽ°æÖ±µ½2.6µÄ×îºó·¢²¼²ÅÐû¸æÍê³É¡£ÓÉÓÚ±¾ÎÄÊÇ·ÇÕýʽ°æµÄµÚÒ»°æ£¬ÆäÖпÉÄÜÓдíÎó»òÕßÊè©£»Èç¹ûÄú·¢ÏÖÁËËüÃÇ£¬Çë¸æËßÎÒ£¬ÎÒ½«ºÜ¸ßÐ˵ØÈ¥ÐÞÕýËüÃÇ¡£

µ½Ä¿Ç°ÎªÖ¹µÄ¹ÊÊÂ...

LinuxÄÚºËʼÓÚ1991ÄêÓÉLinus TorvaldsΪËûµÄ386¿ª·¢µÄÒ»¸öÀàMinixµÄ²Ù×÷ϵͳ¡£Linus³õʼÔøÏëÃüÃûΪÕâ¸öϵͳΪFreax£¬µ«ºÜÐÒÔ˵ÄÊÇ×îºóËû×îºóûÓÐÄÇÑù×ö¡£Linux 1.0µÄ¹Ù·½°æ·¢ÐÐÓÚ1994Äê3Ô£¬°üº¬ÁË386µÄ¹Ù·½Ö§³Ö£¬½öÖ§³Öµ¥cpuϵͳ¡£Linux 1.2·¢ÐÐÓÚ1995Äê3Ô£¬ËüÊǵÚÒ»¸ö°üº¬¶àƽ̨£¨Alpha£¬Sparc£¬MipsµÈ£©Ö§³ÖµÄ¹Ù·½°æ±¾¡£Linux 2.0·¢ÐÐÓÚ1996Äê6Ô£¬°üº¬ºÜ¶àеÄƽ̨֧³Ö£¬µ«ÊÇ×îÖØÒªµÄÊÇ£¬ËüÊǵÚÒ»¸öÖ§³ÖSMP£¨¶Ô³Æ¶à´¦ÀíÆ÷£©ÌåϵµÄÄں˰汾¡£Linux 2.2ÔÚ1999Äê1Ôµ½À´£¬Ëü´øÀ´ÁËSMPϵͳÉÏÐÔÄܵļ«´óÌáÉý£¬Í¬Ê±Ö§³Ö¸ü¶àµÄÓ²¼þ¡£×îºó£¬Linux 2.4ÓÚ2001Äê1Ô·¢²¼£¬Ëü½øÒ»²½µØÌáÉýÁËSMPϵͳµÄÀ©Õ¹ÐÔ£¬Í¬Ê±ËüÒ²¼¯³ÉÁ˺ܶàÓÃÓÚÖ§³Ö×ÀÃæϵͳµÄÌØÐÔ£ºUSB£¬PC¿¨£¨PCMCIA£©µÄÖ§³Ö£¬ÄÚÖõļ´²å¼´Ó㬵ȵȡ£Linux 2.6²»½ö°üº¬ÁËÕâЩÌØÐÔ£¬Í¬Ê±Ò²ÊÇÒ»¸öÎÞÂÛ¶ÔÏ൱´óµÄϵͳ»¹ÊÇÏ൱СµÄϵͳ£¨PDAµÈ£©µÄÖ§³Ö¶¼ÓкܴóÌáÉýµÄ"´ó¿çÔ½"¡£

¶àÖÖƽ̨֧³Ö

Äܹ»Ö§³ÖÏ൱¹ã·ºµÄÓ²¼þºÍƽ̨£¬ÊDzÉÓÃLinux×÷ΪÄں˵IJÙ×÷ϵͳ£¨±ÈÈç GNU²Ù×÷ϵͳ£¬ ϵͳºÍ»·¾³³£³£ÊǺÍLinuxÒ»¿é·Ö·¢¡£LinuxÒ»°ã²»±»ÈÏΪÊǶÀÁ¢µÄ²Ù×÷ϵͳ£¬Ö»ÊDzÙ×÷ϵͳµÄÄںˡ££©µÄÓÅÊÆÖ®Ò»¡£Linux×Ô1.2°æ¾Í¿ªÊ¼°üº¬¶ÔеĴ¦ÀíÆ÷ÀàÐͺÍÌØÐÔµÄÖ§³Ö£¬×îеÄLinux 2.6Äں˷¢²¼°æ±¾Ò²²»ÀýÍâ¡£ÕâÖÖÇ÷ÊƲ»»áÖ±½ÓÓ°Ïìµ½LinuxÔÚIntelƽ̨ϵÄʹÓã¬Í¬Ê±Ê¹µÃLinuxÄÜÔÚ¾¡¿ÉÄÜ´óµÄ·¶Î§ÄÚ±»Ê¹Óã¬ÕâÒ»µã·Ç³£ÖØÒª¡£

С¹æÄ£ £­ ǶÈëʽϵͳÖеÄLinux

Linux 2.6 À©Õ¹¶àƽ̨֧³ÖµÄÒ»¸öÖ÷Ҫ;¾¶¾ÍÊÇ°ÑuClinuxµÄ´ó²¿²¢ÈëÁËÖ÷Á÷Äںˣ¨mainstream kernel£©¡£uCLinux£¨¿ÉÒÔ·¢ÒôΪ"you-see-Linux"£¬µ«¸üÕýÈ·µÄƴд£¬Ê××ÖĸӦ¸ÃʽϣÀ°×Öĸ"mu"£©Êǽ«LinuxÓ¦ÓÃÔÚ΢¿ØÖÆÆ÷ƽ̨µÄÏîÄ¿¡£ºÜ¶àÄêÀ´£¬Õâ¸öLinux·Ö֧ΪÐí¶àǶÈëʽоƬÌṩÁËÖ§³Ö£¬°ÑËü¸ü¶àµÄ¼¯³Éµ½Ö÷Á÷ÄÚºËÖÐÊÇÒ»¼þ·Ç³£ÓÐÒâÒåµÄÊ¡£

²»Ïñͨ³£µÄLinuxÒÆÖ²°æ±¾£¬ÕâÀïÃèÊöµÄǶÈëʽÒÆÖ²°æÓÉÓÚÓ²¼þÏÞÖƺÍͨ³£µÄLinuxÏà±È£¬²»¾ßÓÐËùÓÐÀàËƵÄÌØÐÔ¡£Ö÷ÒªµÄÇø±ðÔÚÓÚ£ºÕâЩÒÆÖ²°æÊÇÕë¶ÔÓÚûÓÐÄÚ´æ¹ÜÀíµ¥Ôª£¨MMU£©µÄ´¦ÀíÆ÷µÄ£¨IntelµÄCPU´Ó386¿ªÊ¼¾ÍÓÐMMUÁË£©¡£È±ÉÙMMUµÄÖ§³Ö£¬ÔËÐÐÕæÕýµÄ¶àÈÎÎñϵͳʱ£¬ÈÎÎñÖ®¼äûÓÐÄÚ´æ±£»¤»úÖÆ£¨Òò´ËÈκγÌÐò¶¼¿ÉÒÔʹµÃÆäËû³ÌÐò±ÀÀ££©£¬Ò»Ð©Óйؽø³ÌÅÉÉúµÄϵͳµ÷ÓÃÒ²ÎÞ·¨ÊµÏÖ¡£ÕýÊÇÒòΪûÓÐÄÚ´æ±£»¤»úÖÆ£¨»òÕß˵£¬Ã»ÓÐÈκΰ²È«ÐÔ¿ÉÑÔ£©£¬ËüÃDz»ÊÊÓÃÓÚ¶àÓû§ÏµÍ³¡£

ÔÚ¶ÔǶÈëʽ´¦ÀíÆ÷Ö§³ÖÉÏ£¬Linux 2.6ÓÐËĸöÖ÷ÒªµÄнø²½¡£Ê×ÏÈÊǶÔMotorolaµÄÐÂÐÍǶÈëʽm68kϵÁд¦ÀíÆ÷ÒÆÖ²¡£ÕâЩ±»ÃüÃûΪDragonball»òÊÇColdFireµÄ´¦ÀíÆ÷¿ÉÒÔÔÚMotorola£¬Lineo£¬Arcturus»òÊÇÆäËû³§ÉÌÉú²úµÄϵͳ»òÊÇÆÀ¹À°åÉÏÕÒµ½¡£´ó¶àÊýLinuxÓû§Ó¦¸Ã¶ÔÕâЩ´¦ÀíÆ÷Ï൱ÊìϤ£¬ÒòΪ´ÓPalm 1000µ½×îеÄPalm III£¬ËûÃÇÒ»Ö±ÊÇPalm PilotsµÄÐÄÔà¡£²»ÐÒµÄÊÇ£¬¶ÔÔçÆÚûÓÐMMUµÄm68k´¦ÀíÆ÷£¨±ÈÈçÔçÆÚÆ»¹û»úÉÏʹÓõÄ68000ϵÁУ©»¹Ã»ÓÐÖ§³Ö¡£×îÐÂÖ§³ÖµÄǶÈëʽƽ̨»¹°üÀ¨ÈÕÁ¢£¨Hitachi£©µÄH8/300ϵÁУ¨²»°üº¬H8S£¬µ«¿ÉÄܻᾡ¿ìµØ¼¯³É½øÀ´£©ÒÔ¼°NEC v850´¦ÀíÆ÷¡£

ÎÞÂÛÔõôǿµ÷Linux 2.6Ö¼ÔÚÖ§³ÖÎÞMMUϵͳµÄÖ÷ÒªÌåϵ½á¹¹±ä»¯£¬¶¼²»Îª¹ý·Ö¡£ËùÓÐLinuxµÄÇ°ÆÚ°æ±¾£¬²»ÂÛÖ±½Ó»òÊǼä½Ó£¬¶¼ÆðÔ´ÓÚLinus×î³õÔÚIntel 80386ÉϵŤ×÷£¬¾ÖÏÞÐÔÊǹÌÓеġ£ÑØ×ÅÕâ¸ö·½Ïò£¨¶ÔÎÞMMUϵͳµÄÖ§³Ö£©£¬½«À´Ò²Ðí»áÓиü¶àµÄÆäËûÔçÆÚµÄÓ²¼þ±»Ö§³Ö£¨ÊÂʵÉÏ£¬ÒѾ­ÓйØÓÚ´ËÄ¿µÄµÄÏîÄ¿Æô¶¯£©¡£µ«ÊÇ£¬²»ÏñΪÏÖ´úµÄÒÔ¼°ÈÔÔÚÉú²úÖеÄǶÈëʽ´¦ÀíÆ÷µÄÌṩ֧³Ö£¬¶ÔÔçÆÚµÄÓ²¼þµÄÖ§³Ö±»¸ü¶àµØÈÏΪÊÇ»ùÓÚijÖÖ°®ºÃ£¬²¢ÇÒ¶ÔÓÚ×îÖÕÓû§¶øÑԺܿÉÄÜÊÇÎÞÓõģ¨Òò´ËÔÚ½ñºóµÄLinuxµÄ¹Ù·½·¢²¼°æ±¾Ò²Ðí²»»á½«Æä°üº¬ÔÚÄÚ£©¡£

×îеÄLinux°æ±¾°üº¬Á˶ÔAxisͨÐŹ«Ë¾µÄETAX CRIS£¨"Code Reduced Instruction Set"£©´¦ÀíÆ÷µÄÖ§³Ö£¨¸üÈ·ÇеØ˵£¬Ö§³ÖETRAX 100LX¼°¸üеIJúÆ·£©£¬Ëü´Ó¼¼ÊõµÄ½Ç¶È¶øÑÔ²»ÊÇuCLinuxºÏ²¢µÄÒ»²¿·Ö£¨ÒòΪËü°üº¬MMUµ¥Ôª£©¡£Êµ¼ÊÉ϶ÔÕâ¿î´¦ÀíÆ÷µÄÖ§³ÖÔÚ2.4¿ª·¢ÖÜÆÚ¾ÍÒѾ­ÓÐÁË£¬µ«ËüÔÚ2.4.0ÒÔºó²Å±»ÒýÈ룬ËùÒÔÏÖÔÚÓ¦¸ÃÌáµ½Ëü¡£ËüÊÇÖ÷ÒªÓÃÓÚÍøÂçÉ豸µÄǶÈëʽ´¦ÀíÆ÷¡£Óë´ËÏà¹ØµÄETRAX 100£¬Êǵõ½uClinuxÖ§³ÖµÄÎÞMMU´¦ÀíÆ÷£¬µ«ÊÇÔÚÖ÷Á÷µÄLinuxÄÚºËÖÐÏà¹ØÖ§³ÖȴûÓм¯³É½øÀ´¡£

OpteronÖ§³Ö £­ Ïû·Ñ¼¶µÄ64λLinux

ÁíÒ»¸öÔÚ2.4.x¿ª·¢»·½Ú¾ÍÒѾ­²¢È뵫ÕâÀïÈÔȻֵµÃÌá¼°µÄÊǶÔAMD OpteronоƬ£¨»ùÓÚAMD64Ìåϵ½á¹¹£©µÄÖ§³Ö¡£OpteronÏòºóÓëIntel-cloneµÄ´¦ÀíÆ÷¼æÈÝ£¬²¢ÇÒ£¬ÉõÖÁ¿ÉÄܵõ½Î¢ÈíµÄÖ§³Ö¡£ÊÇËü»¹ÊÇIntelµÄItanium¼Ò×åµÄijһ³ÉÔ±³ÉΪ64λÏû·Ñ¼¶²úÆ·µÄÊÂʵ±ê×¼ÏÖÔÚ»¹ºÜÄÑ϶¨ÂÛ¡£

¾¡¹Ü2.4ϵÁÐÄں˵ĺóÆÚ°æ±¾ÒѾ­¿ÉÒÔÔÚ¸ÃоƬÉÏÔËÐУ¬µ«×÷Ϊ²úÆ·Ó¦ÓÃÈÔÊܵ½Á˺ܴóÏÞÖÆ¡£¶Ô¸ß¶ËÓû§À´Ëµ£¬×îÑÏÖصÄÎÊÌâÊÇ£¬Ã¿¸öÓ¦ÓóÌÐòµÄRAMµÄʹÓö¼±»ÏÞÖÆÔÚ512MBÒÔÄÚ¡£ÁíÒ»·½Ã棬ÐÂÄں˶ÔÔÚ¸Ãƽ̨ÉÏÔËÐÐx86£¨32룩µÄ³ÌÐòµÄÖ§³ÖµÃµ½Á˸Ľø¡£

×ÓÌåϵ½á¹¹£¨Subarchitecture£©Ö§³Ö

Linux 2.6³ýÁ˶ÔÐí¶àеĴ¦ÀíÆ÷Ìåϵ½á¹¹Í⣬»¹°üº¬ÁËÒ»¸ö³ÆΪ×ÓÌåϵ½á¹¹£¨Subarchitecture£©µÄиÅÄî¡£ÒÔÇ°£¬Linuxͨ³£¼ÙÉè´¦ÀíÆ÷ºÍÆäËûÓ²¼þÊÇÅäÌ׵ġ£Ò²¾ÍÊÇ˵£¬i386ϵÁд¦ÀíÆ÷Ö»»áÔÚPC/AT·þÎñÆ÷ÉÏʹÓá£ÕâÌõÕë¶Ôi386µÄ¼ÙÉèÔÚLinux 2.4Öоͱ»´òÆÆ£¬ÒòΪi386µÄ¶îÍâÖ§³ÖʹÆä¿ÉÒÔÔÚSGIµÄÊÓƵ¹¤×÷Õ¾£¨Visual Workstation£©ÖÐʹÓᣣ¨ÊÂʵÉÏ£¬ÔÚÆäËû·Çi386Ìåϵ½á¹¹ÉÏ£¬Õâ¸ö¼ÙÉèÔç±»´òÆÆÁË¡£±ÈÈ磬m68kºÜÔç¾ÍÖ§³ÖAmiga£¬MichintoshµÈƽ̨¡££©Linux 2.6¶ÔÓÚ´Ë×î´óµÄ±ä»¯¾ÍÊÇ£¬ÈÃÕâ¸öÌØÐÔÒÔ¼°¸ÅÄî³ÉΪ±ê×¼£¬ÒÔ±ãËùÓеÄÌåϵ½á¹¹¶¼¿ÉÒÔÓÃÏàËƶø½¡È«µÄ·½·¨À´´¦Àí£¬ÒÔ±ã¸üÇåÎúµØ»®·ÖÄ£¿é¡£

±ê×¼µÄÈ·Á¢Ê¹µÃi386¿ÉÒÔÔËÓÃÓÚÁ½¸öеÄƽ̨¡£µÚÒ»¸öÊÇNCRµÄVoyagerÌåϵ¡£ÕâÊÇÒ»¸ö¶Ô³Æ¶à´¦ÀíÆ÷£¨SMP£©ÏµÍ³£¨ÔÚIntelµÄMP¹æ·¶±ê׼ȷ¶¨Ö®Ç°¾ÍÒѾ­¿ª·¢³öÀ´ÁË£©£¬ËüÖ§³Ö¶à´ï32¸ö486£­686µÄ´¦ÀíÆ÷ÅäÖá£Êµ¼Ê²ÉÈ¡ÕâÖÖÌåϵ½á¹¹µÄ²úÆ·´¦ÀíÆ÷µÄÅäÖÃÊýÄ¿ÒªÏà¶ÔÉÙһЩ£¬¶øÇÒÄ¿Ç°²¢²»ÊÇËùÓеÄÐͺŶ¼µÃµ½ÁËLinuxµÄÖ§³Ö£¨×îÔçµÄ¾Í²»Ö§³Ö£©¡£µÚ¶þÖֵõ½×îÐÂÖ§³ÖµÄÌåϵ½á¹¹ÊǸüΪ¹ã·ºÊ¹ÓõÄÓÉNEC¿ª·¢µÄPC-9800ƽ̨£¬ËüÔøÊÇÈÕ±¾Êг¡Õ¼Í³ÖεØλµÄPCƽ̨£¬Ò»Ö±µ½×î½ü¼¸Äê¡£×î³õµÄPC-9800×°ÔصÄÊÇ8086´¦ÀíÆ÷£¬×îÖÕ·¢Õ¹µ½±¼ÌÚ¼¶´¦ÀíÆ÷ºÍSMPÖ§³Ö¡££¨µ±È»£¬Linux¶ÔËüµÄÖ§³Ö¾ÖÏÞÔÚ386ÒÔÉÏ¡££©¾¡¹ÜÔÚÃÀ¹úËüÍêÈ«²»ÎªÈËËùÖª£¬Î¢ÈíµÄWindows 95֮ǰµÄ°æ±¾ÔøÒÆÖ²µ½Õâ¸öƽ̨ÉÏ¡£¸Ãƽ̨ÓÉÓÚÉú²úÉ̶Աê×¼PCµÄÆ«°®£¬Éú²úÒѾ­ÖÐÖ¹¡£

Linux¶Ô²îÒìϸ΢µÄÓ²¼þÀàÐÍÖ§³ÖµÄÐÎʽ»¯£¬Ê¹µÃ²Ù×÷ϵͳÄܸüÈÝÒ×µÄÒÆÖ²µ½ÆäËûƽ̨ÉÏ£¬±ÈÈçÒÆÖ²µ½×¨Îª´æ´¢Éè¼ÆµÄÓ²¼þ»òÕßÊÇʹÓÃÔÚ¹¤ÒµÁìÓòµÄÖ÷Á÷´¦ÀíÆ÷¡£ÐèÒª³ÎÇåµÄÊÇ£¬×ÓÌåϵ½á¹¹Ò²²»ÊÇÈκÎʱºò¶¼¹ÜÓõģ¬ËüÄܹ»·¢»Ó×÷ÓÃÊÇÒòΪÕâЩ¿ÉÒÆÖ²µÄϵͳ·Ç³£µ×²ã¹¹¼þ£¨±ÈÈçIRQ·ÓÉ£©Óлò¶à»òÉٵIJ»Í¬¡£±ÈÆðÔÚX-boxÉÏÔËÐÐLinuxµÄ²î±ðÀ´Ëµ£¬Çý¶¯³ÌÐòµÈÏà¶ÔСµÄ²î±ð»¹²»×ãÒÔ°ÑËüÃÇ´Ó´«Í³µÄi386ϵͳÖзֿª¡£Linux¶ÔX-boxµÄÖ§³Ö£¬¾Í²»ÊÇ×ÓÌåϵ½á¹¹µÄÎÊÌâ¡£

´ó¹æÄ£ - ·ÇÒ»Ö´洢·ÃÎÊÌåϵ½á¹¹£¨NUMA£©ºÍ´óÐÍ»ú

³ýÁËÒÔÉÏËùÌá¼°µÄÐÂÓ²¼þÀàÐ͵ÄÖ§³ÖÖ®Í⣬еÄLinuxÄں˷¢ÐаæÒ²°üº¬Á˶ԴóÐÍ·þÎñÆ÷£¨Ò»Ð©ÔËÐÐi386´¦ÀíÆ÷£¬Ò²ÓÐЩÔËÐÐÆäËû´¦ÀíÆ÷£©¸ü¶àµÄÖ§³Ö¡£¶ÔLinuxÀ´Ëµ£¬ÕâÑùµÄÌØÐÔÊÇнü¼ÓÈëµÄ£¬»¹ÓÐÐí¶àÓÅ»¯¹¤×÷ÐèÒªÍê³É¡£ÕâÊÇÒ»¸öLinux·¢Õ¹Ï൱ѸËÙµÄÁìÓò£¬ÎÒÃÇÄܹ»Ô¤¼ÆÔÚ²»¾ÃµÄ½«À´£¬Linux½«³ÉΪ´ËÁìÓòµÄÓÐÁ¦¾ºÕùÕß¡£

ÔÚ´Ë·½Ãæ×î´óµÄ¸Ä±ä¾ÍÊÇLinux¶ÔNUMA·þÎñÆ÷µÄ×îÐÂÖ§³Ö¡£NUMA£¨·ÇÒ»Ö´洢·ÃÎÊ£©ÔÚ¶à½ø³ÌÊÀ½çÀïÊdz¬Ô½SMPÒÔ¼°ÌáÉý¶à´¦ÀíÆ÷ϵͳЧÂʵÄÒ»¸ö½ø²½¡£SMPϵͳµÄÉè¼ÆÉÏÓÐ×ÅÐí¶àºÍ¶ÔÓ¦µ¥´¦ÀíÆ÷ϵͳÀàËƵľÖÏÞÐÔ¡£ÆäÖÐ×î´óµÄÉè¼Æ¾ÖÏÞÖ®Ò»¾ÍÊÇϵͳÖÐÖ»ÓÐΨһµÄÒ»¿éÄÚ´æÇø£¬ËùÓеĴ¦ÀíÆ÷¶ÔËü¶¼Æ½µÈµØ¶ÔËü½øÐзÃÎÊ¡£ÔڶദÀíÆ÷ϵͳÀÕâÑù»áÔÚͬһÌõÄÚ´æ×ÜÏßÉϵĶദÀíÆ÷Ö®¼äÒýÆðÏ൱¸ßµÄ¾ºÕù£¬µ¼ÖÂÐÔÄÜÆ¿¾±¡£NUMA·þÎñÆ÷£¬Í¨¹ýÒýÈëÁËÒÔϵÄÀíÄî½â¾öÁËÕâ¸öÎÊÌ⣺¶ÔÓÚij¸öÌض¨µÄ´¦ÀíÆ÷£¬Ò»Ð©ÄÚ´æ±ÈÆäËûһЩµÄ¸üΪ½Ó½ü£¨close£©¡£¿ÉÒÔÕâÑù¼òµ¥µØÉèÏ루ͬʱ¼¼ÊõÉÏÒ²²»»áÓÐÑÏÖØ´íÎ󣩣¬ÄãµÄϵͳÓÐÐí¶à°üº¬ÁË´¦ÀíÆ÷¡¢ÄÚ´æÒÔ¼°ÆäËûÔª¼þ£¨±ÈÈçI/OÀ©Õ¹¿¨£©¡£ÏµÍ³ÖÐÓкܶàÕâÑùµÄ¿¨£¬ËüÃÇ¿ÉÒÔÏ໥ͨѶ£»ÏÔ¶øÒ×¼û£¬Ïà¶ÔÆäËû¿¨ÉϵÄÄڴ棬ÿ¿é¿¨ÉϵĴ¦ÀíÆ÷Äܸü¿ìµÄ·ÃÎʱ¾µØÄڴ棨×Ô¼ºµÄ¿¨ÉÏÄڴ棩¡£´ÓÐí¶à½Ç¶ÈÉÏ¿´£¬NUMAÌåϵ½á¹¹¾ÍÊÇÒ»¸ö½ôÃÜñîºÏµÄ¼¯ÈºÌØÀý¡£

ΪÁ˸øNUMAÖ÷»úÌṩÁ¼ºÃµÄÖ§³Ö£¬LinuxÊ®·Ö±ØÒªÔÚÐí¶à·½Ãæ½øÐе÷Õû£¬ÒÔʹÐÂÄ£Ð͸ü¾ßЧÂÊ¡£Ê×ÏÈ£¬½¨Á¢ÁËÒ»¸öÄÚ²¿ÍØÆËAPI£¬ÒÔʹÄÚºËÖªµÀ´¦ÀíÆ÷ºÍÄÚ´æÒÔ¼°ÆäËûIOÉ豸¼äµÄÏ໥¹Øϵ¡£ÓÐÁËÄÚ²¿ÍØÆËAPIµÄÖ§³Ö£¬LinuxµÄ½ø³Ìµ÷¶ÈÆ÷¿ÉÒÔÀí½âÕâЩ¹Øϵ£¬²¢Çһ᳢ÊÔÓÅ»¯ÈÎÎñÒÔ´ïµ½×î¼ÑµÄ±¾µØ×ÊԴʹÓᣴËÍ⣬Ðí¶àNUMAÖ÷»úÔÚ¸÷¸ö½Úµã£¨nodes£©µÄÏßÐÔÄÚ´æÇøÓòÖ®¼ä´æÔÚ¿Õ¶´£¨holes£©¡£ÐÂÄÚºËÒѾ­Äܹ»ºÏÀíµÄ´¦ÀíÕâÖÖ²»Á¬ÐøÇé¿ö¡£Äں˻¹ÓÐÐí¶àÆäËûʹµÃLinux¿ÉÒÔÖ§³Ö¸ß¶Ë£¨high-end£©Ö÷»úµÄ±ä»¯£¬ÕâÒ²ÊÇÄں˷¢Õ¹µÄÒ»¸öÃ÷È··½Ïò¡£ÔÙ¹ýÒ»Ä꣬ÎÒÃÇ¿ÉÒÔÆÚ´ýLinuxÔڸ߶˻úÐÍÉÏЧÂÊÒÔ¼°ÆäËû·½ÃæµÄ½ø²½¡£

Ïà¹Ø×ÊѶ