±¾ÎĽ«ÉîÈë̽Ë÷Linux 2.6ÄÚºËÔ´Â룬·ÖÎöÆäºËÐÄ×é¼þºÍ»úÖÆ£¬½ÒʾÆä¸ßЧ¡¢Îȶ¨ÔËÐеİÂÃØ
Ò»¡¢Linux 2.6Äں˸ÅÊö Linux 2.6ÄÚºËÊÇLinux²Ù×÷ϵͳ·¢Õ¹Àú³ÌÖеÄÒ»¸öÖØÒªÀï³Ì±®
Ïà±È֮ǰµÄ°æ±¾£¬2.6ÄÚºËÔÚÐÔÄÜ¡¢Îȶ¨ÐÔºÍÀ©Õ¹ÐÔ·½ÃæÓÐÁËÏÔÖøÌáÉý
ËüÒýÈëÁËÐí¶àм¼ÊõºÍÓÅ»¯´ëÊ©£¬Ê¹µÃLinux²Ù×÷ϵͳÔÚ·þÎñÆ÷¡¢×ÀÃæ¡¢Ç¶ÈëʽµÈ¶à¸öÁìÓòµÃµ½Á˹㷺ӦÓÃ
Linux 2.6ÄÚºËÔ´Âë½á¹¹ÅÓ´ó¶ø¸´ÔÓ£¬µ«Éè¼ÆµÃÊ®·ÖÇÉÃî
Ëü²ÉÓÃÁËÄ£¿é»¯µÄÉè¼ÆË¼Ï룬½«Äں˹¦ÄÜ»®·ÖΪ¶à¸öÏà¶Ô¶ÀÁ¢µÄÄ£¿é£¬±ãÓÚ¿ª·¢ºÍά»¤
ͬʱ£¬ÄÚºËÔ´Âë»¹×¢ÖØ´úÂëµÄ¿É¶ÁÐԺͿÉÒÆÖ²ÐÔ£¬Ê¹µÃLinux²Ù×÷ϵͳÄܹ»ÔÚ¶àÖÖÓ²¼þƽ̨ÉÏÔËÐÐ
¶þ¡¢ÏµÍ³µ÷ÓûúÖÆ ϵͳµ÷ÓÃÊÇÓû§Ì¬³ÌÐòÓëÄÚºËÖ®¼äµÄ½»»¥½Ó¿Ú
ÔÚLinux 2.6ÄÚºËÖУ¬ÏµÍ³µ÷ÓûúÖÆÊÇÁ¬½ÓÓû§¿Õ¼äºÍÄں˿ռäµÄÖØÒªÇÅÁº
Óû§Ì¬³ÌÐòͨ¹ýϵͳµ÷ÓÃÀ´ÇëÇóÄÚºËÌṩµÄ¸÷ÖÖ·þÎñ£¬Èç½ø³Ì¹ÜÀí¡¢ÄÚ´æ¹ÜÀí¡¢ÎļþϵͳµÈ
Linux 2.6ÄÚºËÌṩÁËÔ¼200¶à¸öϵͳµ÷Óã¬ËùÓÐϵͳµ÷ÓÃÔÚʵÏÖÉ϶¼ÓÐ×ÅÏàͬµÄÈë¿ÚºÍÖ´Ðпò¼Ü
ÕâÌ׿ò¼ÜµÄºËÐÄÊǶÔËùÓÐϵͳµ÷ÓýøÐбàºÅ£¬ËùÓÐϵͳµ÷Óö¼ÊÇ´ÓͬһÈë¿Ú½øÈ룬¸ÃÈë¿ÚÊÇÒ»ÌõÄÜʵÏÖÌØÈ¨¼¶ÌáÉýµÄÖ¸Áî
¸ÃÖ¸ÁîÍê³ÉÓû§Ì¬µ½ÏµÍ³Ì¬µÄת±ä£¬²¢×îÖÕÌø×ªµ½ÄÚºËÖÐÒ»¸ö½Ð×öϵͳµ÷Óô¦Àí³ÌÐòµÄº¯ÊýÖÐ
¸ù¾ÝÌṩµÄϵͳµ÷Óúţ¬´¦Àí³ÌÐòÔÙÌø×ªµ½ÏàÓ¦µÄÊÂÎñ³ÌÐòÖÐ
ÔÚÔçÆÚ°æ±¾ÖУ¬LinuxʹÓÃint 0x80Ö¸ÁîʵÏÖϵͳµ÷ÓÃ
µ«intÖ¸Áî±Ï¾¹²»ÊÇרÃÅÓÃÓÚϵͳµ÷Óã¬x86ÔÚ±¼ÌÚIIÖÐÒýÈëÁËsysenterÖ¸ÁîÓÃÓÚʵÏÖ¿ìËÙϵͳµ÷ÓÃ
sysenterÖ¸ÁîÄܹ»¸ü¿ìËÙµØÍê³ÉÓû§Ì¬µ½ÏµÍ³Ì¬µÄת±ä£¬Ìá¸ßÁËϵͳµ÷ÓõÄЧÂÊ
ϵͳµ÷ÓõÄÖ´Ðйý³Ì·ÖΪϵͳµ÷Óô¦Àí³ÌÐòºÍÊÂÎñ³ÌÐòÁ½¸ö²¿·Ö
ϵͳµ÷Óô¦Àí³ÌÐò¸ºÔð´¦Àíϵͳµ÷ÓõÄÈë¿ÚºÍµ÷¶È£¬¶øÊÂÎñ³ÌÐòÔò¸ºÔðʵÏÖ¾ßÌåµÄÊÂÎñ
ÊÂÎñ³ÌÐòµÄ²ÎÊý´«µÝÒ²²ÉÓÃÁËÌØÊâµÄ·½Ê½£¬ÓÉÓÚϵͳµ÷Óúá¿çÄÚºËÕ»ºÍÓû§Õ»£¬Í¬Ê±²Ù×÷Á½¸öÕ»²»ÇÐʵ¼Ê£¬ËùÒÔÊÂÎñ³ÌÐòµÄ²ÎÊý²ÉÓüĴæÆ÷ºÍÓû§¿Õ¼ä±äÁ¿´«µÝ
Èý¡¢½ø³Ì¹ÜÀí ½ø³ÌÊǼÆËã»úÖеijÌÐò¹ØÓÚijÊý¾Ý¼¯ºÏÉϵÄÒ»´ÎÔËÐл£¬ÊÇϵͳ½øÐÐ×ÊÔ´·ÖÅäºÍµ÷¶ÈµÄ»ù±¾µ¥Î»
ÔÚLinux 2.6ÄÚºËÖУ¬½ø³Ì¹ÜÀíÊÇÒ»¸öÖØÒªµÄ×é³É²¿·Ö
ÄÚºËͨ¹ýһϵÁÐÊý¾Ý½á¹¹ºÍËã·¨À´×éÖ¯ºÍ¹ÜÀí½ø³Ì£¬È·±£ÏµÍ³µÄ¸ßЧÔËÐÐ
ÔÚLinuxϵͳÖУ¬½ø³ÌÔÚ/linux/include/linux/sched.hÍ·ÎļþÖб»¶¨ÒåΪtask_struct½á¹¹Ìå
task_struct½á¹¹Ìå°üº¬Á˽ø³ÌµÄ¸÷ÖÖÐÅÏ¢£¬Èç±êʶ·û¡¢×´Ì¬¡¢ÓÅÏȼ¶¡¢³ÌÐò¼ÆÊýÆ÷¡¢ÄÚ´æÖ¸Õë¡¢ÉÏÏÂÎÄÊý¾ÝµÈ
ÕâЩÐÅÏ¢ÊÇÄں˹ÜÀíºÍµ÷¶È½ø³ÌµÄ»ù´¡
½ø³Ì״̬Êǽø³Ì¹ÜÀíÖеÄÒ»¸öÖØÒª¸ÅÄî
Linux 2.6ÄÚºËÖж¨ÒåÁ˶àÖÖ½ø³Ì״̬£¬ÈçÔËÐÐ״̬¡¢¿ÉÖжÏ˯Ãß״̬¡¢²»¿ÉÖжÏ˯Ãß״̬¡¢Í£Ö¹×´Ì¬µÈ
½ø³Ì״̬֮¼äµÄת»»ÊÇͨ¹ýÄÚºËÖеĵ÷¶ÈÆ÷À´ÊµÏÖµÄ
µ÷¶ÈÆ÷¸ù¾Ý½ø³ÌµÄÓÅÏȼ¶ºÍϵͳµÄ×ÊÔ´×´¿öÀ´¾ö¶¨Äĸö½ø³ÌÓ¦¸ÃÔËÐУ¬Äĸö½ø³ÌÓ¦¸ÃµÈ´ý
Linux 2.6Äں˲ÉÓÃÁËO(1)µ÷¶ÈËã·¨£¬¸ÃËã·¨¾ßÓе÷¶Èʱ¼ä¶Ì¡¢¿ÉÀ©Õ¹ÐԺõÈÓŵã
O(µ÷¶ÈË㷨ͨ¹ýά»¤Ò»¸ö¿ÉÔËÐжÓÁкÍÓÅÏȼ¶Êý×éÀ´ÊµÏÖ½ø³ÌµÄµ÷¶È
¿ÉÔËÐжÓÁÐÖб£´æÁ˵±Ç°¿ÉÔËÐеĽø³Ì£¬¶øÓÅÏȼ¶Êý×éÖÐÔò±£´æÁ˲»Í¬ÓÅÏȼ¶ÏµĽø³Ì
µ÷¶ÈÆ÷ÔÚµ÷¶È½ø³Ìʱ£¬»áÊ×Ïȼì²é¿ÉÔËÐжÓÁÐÖеĽø³Ì£¬È»ºó¸ù¾ÝÓÅÏȼ¶Êý×éÀ´¾ö¶¨Äĸö½ø³ÌÓ¦¸ÃÔËÐÐ
ËÄ¡¢ÄÚ´æ¹ÜÀí ÄÚ´æ¹ÜÀíÊDzÙ×÷ϵͳÖеÄÁíÒ»¸öÖØÒª×é³É²¿·Ö
Linux 2.6Äں˲ÉÓÃÁËÏȽøµÄÄÚ´æ¹ÜÀí»úÖÆ£¬°üÀ¨ÐéÄâÄÚ´æ¡¢ÄÚ´æ·ÖÅäÓë»ØÊÕ¡¢ÄÚ´æÓ³ÉäµÈ
ÕâЩ»úÖÆÈ·±£ÁËϵͳÄܹ»¸ßЧµØÀûÓÃÄÚ´æ×ÊÔ´£¬Ìá¸ßϵͳµÄÎȶ¨ÐÔºÍÐÔÄÜ
ÐéÄâÄÚ´æÊÇLinux 2.6ÄÚºËÖеÄÒ»¸öÖØÒªÌØÐÔ
Ëüͨ¹ý½«ÎïÀíÄÚ´æºÍ´ÅÅ̿ռä½áºÏÆðÀ´£¬ÎªÓû§ÌṩÁËÒ»¸ö±Èʵ¼ÊÎïÀíÄÚ´æ´óµÃ¶àµÄÄÚ´æ¿Õ¼ä
ÐéÄâÄÚ´æµÄʵÏÖÒÀÀµÓÚÒ³±í¡¢Ò³¿òºÍ½»»»¿Õ¼äµÈÊý¾Ý½á¹¹
µ±½ø³Ì·ÃÎÊij¸öÐéÄâµØÖ·Ê±£¬Äں˻á¼ì²é¸ÃµØÖ·ÊÇ·ñÒѾÔÚÎïÀíÄÚ´æÖÐ
Èç¹û²»ÔÚ£¬Ôò»á·¢ÉúȱҳÖжϣ¬Äں˻Ὣ¸ÃµØÖ·¶ÔÓ¦µÄÒ³Ãæ´Ó´ÅÅÌÖмÓÔØµ½ÎïÀíÄÚ´æÖÐ
ÄÚ´æ·ÖÅäÓë»ØÊÕÊÇLinux 2.6ÄÚºËÖеÄÁíÒ»¸öÖØÒªÈÎÎñ
ÄÚºËÌṩÁËÒ»Ì×ÍêÉÆµÄÄÚ´æ·ÖÅäºÍ»ØÊÕ»úÖÆ£¬°üÀ¨»ï°éϵͳ¡¢slab·ÖÅäÆ÷µÈ
ÕâЩ»úÖÆÄܹ»¸ù¾Ý²»Í¬µÄÄÚ´æÐèÇóÀ´·ÖÅäºÍ»ØÊÕÄڴ棬ȷ±£ÏµÍ³µÄÄÚ´æ×ÊÔ´µÃµ½³ä·ÖÀûÓÃ
ÄÚ´æÓ³ÉäÊÇLinux 2.6ÄÚºËÖеÄÁíÒ»¸öÖØÒªÌØÐÔ
ËüÔÊÐí½ø³Ì½«Îļþ»òÉ豸µÄÄÚÈÝÓ³Éäµ½½ø³ÌµÄµØÖ·¿Õ¼äÖУ¬Ê¹µÃ½ø³Ì¿ÉÒÔÖ±½Óͨ¹ýµØÖ··ÃÎÊÎļþ»òÉ豸µÄÄÚÈÝ
ÄÚ´æÓ³ÉäÌá¸ßÁËÎļþ·ÃÎʺÍÉ豸²Ù×÷µÄЧÂÊ£¬Ê¹µÃϵͳÄܹ»¸ü¸ßЧµØ´¦Àí´óÁ¿Êý¾Ý
Îå¡¢Îļþϵͳ ÎļþϵͳÊDzÙ×÷ϵͳÖÐÓÃÓÚ´æ´¢ºÍ¹ÜÀíÊý¾ÝµÄÖØÒª×é³É²¿·Ö
Linux 2.6ÄÚºËÖ§³Ö¶àÖÖÎļþϵͳ£¬Èçext2/ext3¡¢xfs¡¢reiserfsµÈ
ÕâЩÎļþϵͳ¾ßÓв»Í¬µÄÌØµãºÍÓÅÊÆ£¬Äܹ»Âú×㲻ͬµÄ´æ´¢ÐèÇó
Linux 2.6ÄÚºËÖеÄÎļþϵͳ²ÉÓÃÁËÐéÄâÎļþϵͳ£¨VFS£©µÄÉè¼ÆË¼Ïë
VFSÌṩÁËÒ»¸öͳһµÄ½Ó¿ÚÀ´·ÃÎʲ»Í¬ÀàÐ͵ÄÎļþϵͳ
µ±½ø³Ì·ÃÎÊij¸öÎļþʱ£¬Äں˻áÊ×ÏÈͨ¹ýVFSÀ´²éÕÒ¸ÃÎļþËùÔÚµÄÎļþϵͳ£¬È»ºóµ÷ÓøÃÎļþϵͳµÄÏà¹Ø²Ù×÷À´Íê³ÉÎļþµÄ·ÃÎÊ
Áù¡¢×ܽá Linux 2.6ÄÚºËÔ´ÂëÊÇÒ»¸öÅÓ´ó¶ø¸´ÔÓµÄϵͳ£¬µ«ËüÉè¼ÆµÃÊ®·ÖÇÉÃîºÍ¸ßЧ
ͨ¹ýÉîÈë̽Ë÷Linux 2.6ÄÚºËÔ´Â룬ÎÒÃÇ¿ÉÒÔ¸üºÃµØÀí½â²Ù×÷ϵͳµÄÄÚ²¿»úÖÆºÍ¹¤×÷ÔÀí
ͬʱ£¬ÎÒÃÇÒ²¿ÉÒÔ´ÓÖÐѧϰµ½Ðí¶àÏȽøµÄ±à³Ì˼ÏëºÍÉè¼Æ¼¼ÇÉ£¬Îª¿ª·¢¸ßЧ¡¢Îȶ¨µÄÈí¼þϵͳÌṩÓÐÒæµÄ½è¼ø
Ëæ×żÆËã»ú¼¼ÊõµÄ²»¶Ï·¢Õ¹£¬Linux²Ù×÷ϵͳ½«¼ÌÐø·¢»ÓÆä¿ªÔ´¡¢Áé»î¡¢¿ÉÀ©Õ¹µÈÓÅÊÆ£¬ÔÚ¸÷¸öÁìÓòµÃµ½¸ü¹ã·ºµÄÓ¦ÓÃ
ÎÒÃÇÏàÐÅ£¬ÔÚδÀ´µÄ·¢Õ¹ÖУ¬Linux 2.6ÄÚºËÔ´Â뽫¼ÌÐøÎªÎÒÃÇÌṩ¸ü¶àµÄÆôʾºÍ½è¼ø