ûÓÐÔĶÁ¹ýÔ´Âë֮ǰ,¶Ô²Ù×÷ϵͳ×ÜÊDZ§ÓÐÉñÃظÐ,×ÜÊÇÈÏΪ²Ù×÷ϵͳÊǺܰÂÃîµÄ¶«Î÷. Æäʵ,¶ÔÓÚÒ»¸öÓÐÒ»¶¨±à³Ì»ù´¡ºÍϵͳ֪ʶµÄ³ÌÐòÔ±,²Ù×÷ϵͳ²¢²»ÊÇ¿ÉÍû¶ø²»¿É¼°µÄ¶«Î÷. ²Ù×÷ϵͳµÄ×îÖÕÄ¿±êÖ»ÊÇÔÚÓ¦ÓóÌÐò²ãÃæÓëÓ²¼þ²ãÃæÖ®¼ä×öµÄÒ»²ãе÷,¿ÉÄÜÕâ¸ö¶¨ÒåÓÐЩƬÃæ,µ«±¾×ÅÕâÑùµÄ˼Ïë¶Á´úÂëÓ¦¸Ã»áÇáËÉÒ»µã.
ÓÉÓÚ·¢Õ¹µ½ÏÖÔÚ,LINUXÒѾ¿ÉÒÔÖ§³Ö¸÷ÖÖƽ̨,±¾ÎĽ²Ö÷ÒªÕë¶ÔÒ»¸ö"¹ÅÀÏ"µÄ°æ±¾--0.11--½øÐÐÌÖÂÛ,ÕâÒ²ÊÇÕÔ¾¼²©Ê¿ÔÚ"linuxÄÚºËÍêȫעÊÍ"Ò»ÊéÖÐ×öʹÓõİ汾,ÓÉÓÚ±¾ÈËÒ²ÊdzõѧÕß,²»¸ÒÍý×Ô¶Ô2.6ÄÚºË×÷³ö¶¨ÂÛ. ÎÒ½«ÔÚÒÔÏ·ÖÎöµÄ¹ý³ÌÖÐż¶û¼ÓÈëһЩ×Ô¼º¶Ô2.6µÄÀí½â.
linuxµÄÆô¶¯¹ý³ÌÖ÷ÒªÉæ¼°µ½Èý¸öÔ´Îļþ: bootsect.s head.s setup.s
ÔÚ0.11°æ±¾ÖÐ,ÕâÈý¸öÎļþ¾ùλÓÚlinux/boot/Ŀ¼ÏÂ,¶øÔÚ×îа汾ÖÐ,ÒòΪ֧³ÖµÄƽ̨µÄ¶àÑùÐÔ,ÎÒÃÇ¿ÉÒÔÔÚlinux/arch/i386/ÏÂÕÒµ½ËüÃÇ.
i386Ìåϵ½á¹¹µÄÆô¶¯¹ý³Ì´óÖÂÊÇÕâÑùµÄ:»úÆ÷Ê×ÏȽøÈëʵģʽ,È»ºó´ÓµØÖ·0xFFFF0´¦¿ªÊ¼Ö´ÐÐ,Ò»°ãÕâ¸öµØÖ·ÊÇÔÚBIOSÖÐ,ÓÚÊÇBIOS³ÌÐò»á¶Ô»úÆ÷×öһЩ×Լ칤×÷. ÔÚ´ËÖ®ºó,Ò»°ã´Ó´ÅÅÌÆô¶¯µÄ»úÆ÷»á´Ó¿ÉÆô¶¯É豸µÄµÚÒ»ÉÈÇøÖаÑÆô¶¯³ÌÐò¶ÁÈëÄÚ´æ0x07C00λÖÃ,²¢ÇÒÌøתµ½¸Ã´¦¼ÌÐøÖ´ÐÐ.ÕâÀïËù˵µ½µÄ´Ó´ÅÅ̶ÁÈëµÄµÚÒ»ÉÈÇøÄÚÈÝ,Æäʵ¾ÍÊÇbootsect.s¾¹ý»ã±àÒÔºóµÄ¶þ½øÖÆÂë,Ò²¾ÍÊÇ˵,ÔÚ²Ù×÷ϵͳÒâÒåÉÏϵͳÊÇ´Óbootsect.s¿ªÊ¼µÄ. ÔÚ¹Û¿´bootsect.sÔ´Âë֮ǰ,ÈÃÎÒÃÇÏÈ¿´¿´²Ù×÷ϵͳµÃµ½ÔËÐлú»áÒÔºóÊÇÈçºÎ°²ÅÅÒ»ÇеÄ:
Linus¶Ôbootsect.s±»ÔØÈëµÄλÖò»Ì«ÂúÒâ,ÊÂʵÉÏÕâµÄÈ·²»ÊǸöÁ¼ºÃµÄλÖÃ.0x07C00ÊÇÒ»¸öÏ൱µÍµÄλÖÃ,LinusÆÚÍû²Ù×÷ϵͳµÄÕæÕýÄں˲¿·Ö¿ÉÒÔ´Ó0x00000Æðʼ,²¢ÇÒÕ¼¾ÝÕû¸öÄÚ´æÇøÓòµÄ×îµÍλÖÃ. bootµÄ³ÌÐòÄÚÈÝÖ»»áÔÚ»úÆ÷Æô¶¯µÄʱºò±»ÔËÐÐÒ»´Î,ÒÔºó»ù±¾¾ÍûÓÐÓÃÁË. ¶øÏÖÔÚ,bootsect.sλÓÚ0x07C00µÄλÖÃÉÏ,ÏÔÈ»ÒѾ"µ²×¡"Á˲Ù×÷ϵͳµÄ"·". ÒªÖªµÀ,¼´Ê¹ÊÇ0.11°æ±¾µÄlinux,Äں˵ij¤¶È(ÕâÀïÓ¦¸Ã¸ü׼ȷµÄ³Æ֮ΪsystemÄ£¿é,¶ø²»ÊǹãÒåÉϵÄlinuxÄÚºË. Õâ¸ö¸ÅÄîÔÚÏÂÇÒÌøתµ½ÄÇÀïÖ´ÐÐ.ÎÄÖн²Êö.)Ò²´ïµ½ÁË0x3000, ¶øÔÚ2.6ÖÐ,¸üÊÇ´ïµ½ÁË0x7F00Ö®¶à. ÓÚÊÇ,ºÜ×ÔÈ»µÄ,ÎÒÃÇÊ×ÏÈÒª×öµÄ¹¤×÷¾ÍÊÇ°Ñbootsect.sµÄλÖÃŲ¿ª,Ųµ½¸ü¸ßµÄµØÖ·ÉÏÈ¥,²¢Ìøתµ½ÄÇÀïÖ´ÐÐ.
×öÍêǨÒÆÖ®ºó,bootsect.sÐèÒª×öµÄµÚ¶þ¼þÊÂÇé¾ÍÊÇÒª°ÑºóÐø´úÂëload½øÀ´. Õⲿ·Ö´úÂë¾ÍÊÇsetup.s,ËüµÄ¶þ½øÖƱàÂëÓ¦¸Ã´æ·ÅÔÚÆô¶¯É豸µÄµÚ¶þ¸öÉÈÇø,³¤¶ÈΪ4¸öÉÈÇø. loadÕâ¶Î³ÌÐò²¢Ã»ÓÐÏëÏóÖеÄÄÇôÀ§ÄÑ,³ÌÐòͨ¹ýint 0x13À´Íê³ÉµÄ. setup.s½«±»·ÅÔÚ½ô½ÓÔÚbootsect.sµÄ