¸¶ºî: Jörg Wunsch <joerg@FreeBSD.ORG>. 16 Apr 1995.
Ìõ: ÅÏÊÕ ÃÒͺ <tomo@jp.FreeBSD.ORG>. 29 Oct 1996.
FreeBSD ¤¬ i386 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¾å¤Ç¤É¤Î¤è¤¦¤Ë¥á¥â¥ê¤ò»È¤¦¤«¤Ë ¤Ä¤¤¤Æ¤ÎÀâÌÀ¤Ç¤¹.
¥Ö¡¼¥ÈÉôʬ¤Ï0:0x7c00¤Ë¥í¡¼¥É¤µ¤ì, ¤¹¤°¤Ë¼«Ê¬¼«¿È¤ò 0x7c0:0¤Ë°Ü¤·¤Þ¤¹. (¤³¤ì¤Ï¼êÉʤǤϤʤ¯, ñ¤Ê¤ë%cs ¥»¥ì¥¯¥¿¤Î¤¿¤á¤ÎÄ´Àá¤Ç¤¢¤ê, ljmp¤Ë¤è¤ê¹Ô¤ï¤ì¤Þ¤¹. )
¤½¤ì¤«¤éºÇ½é¤Î 15 ¥»¥¯¥¿¤ò 0x10000 (biosboot ¤Î Makefile ¤Î¤Ê¤«¤Î BOOTSEGÉôʬ)¤Ë¥í¡¼¥É¤·, ºî¶ÈÎΰè¤Î¥¹¥¿¥Ã¥¯¤ò 0x1fff0°Ê²¼¤Ë ¥»¥Ã¥È¤·¤Þ¤¹. ¤³¤Î¤¢¤È, boot2 ¤ËÈô¤Ó¤Þ¤¹. ¤Ä¤Þ¤ê, boot1 ¼«¿È¤È (¥À¥ß¡¼¤Î) DOS ¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤òÈô¤Ó±Û¤¨¤Æ, %cs¥»¥ì¥¯¥¿¤ò Ä´Àᤷ¤Þ¤¹ --- ¤³¤Î»þÅÀ¤Ç¤Ï¤Þ¤À16¥Ó¥Ã¥È¥â¡¼¥É¤Ç¤¹.
boot2 ¤Ï¥Ö¡¼¥È¥Õ¥¡¥¤¥ë¤òÍ׵ᤷ, a.out¥Ø¥Ã¥À¤òÄ´¤Ù¤Þ¤¹. 0x00ffffff¤Ë¤è¤Ã¤Æ¥Õ¥¡¥¤¥ë¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò (Ä̾ï¤Ï0xf0100000¤Ë)¥Þ¥¹¥¯¤·, ¥í¡¼¥É¤·¤Þ¤¹. ¤³¤Î¤¿¤á, Ä̾ï¤Î¥í¡¼¥É¥Ý¥¤¥ó¥È¤Ï 1MB (0x00100000) ¤Ë¤Ê¤ê¤Þ¤¹. ¥í¡¼¥É¤·¤Æ¤¤¤ë´Ö, ¥ê¥¢¥ë¥â¡¼¥É¤ÇBIOS¤ò»È¤¦¤¿¤á, ¥Ö¡¼¥È¥³¡¼¥É¤Ï, ¥ê¥¢¥ë¥â¡¼¥É¤È¥×¥í¥Æ¥¯¥È¥â¡¼¥É¤Î´Ö¤ò¹Ô¤Ã¤¿¤êÍ褿¤ê¤·¤Þ¤¹ (ÌõÃí: ¤³¤ì¤Ï, BIOS¤¬¥ê¥¢¥ë¥â¡¼¥ÉÍѤ˽ñ¤«¤ì¤Æ¤¤¤Æ, ¥í¡¼¥É¤¹¤Ù¤Îΰ褬¥ê¥¢¥ë¥â¡¼¥É¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤1MB¤è¤ê¾å°Ì¤Î ¥¢¥É¥ì¥¹¤Ç¤¢¤ë¤³¤È¤«¤é, ¥Ö¡¼¥È¥³¡¼¥É¤¬¥ê¥¢¥ë¥â¡¼¥É¤È ¥×¥í¥Æ¥¯¥È¥â¡¼¥É¤òÀÚ¤êÂØ¤¨¤Ê¤¬¤éưºî¤¹¤ë¤¿¤á¤Ç¤¹).
¥Ö¡¼¥È¥³¡¼¥É¼«¿È¤Ï¥×¥í¥Æ¥¯¥È¥â¡¼¥É¤Ç %cs¤È%ds/%es ÍÑ¤Ë ¥»¥°¥á¥ó¥È¥»¥ì¥¯¥¿ 0x18 ¤È 0x20 ¤ò»È¤¤, ¥ê¥¢¥ë¥â¡¼¥É¤ËÌá¤ë¤Î¤Ë0x28¤ò»È¤¤¤Þ¤¹. ºÇ½ªÅª¤Ë¥«¡¼¥Í¥ë¤Ï¥¢¥É¥ì¥¹¶õ´ÖÁ´ÂΤò¥«¥Ð¡¼¤Ç¤¤ë¤è¤¦¤Ê¥À¥ß¡¼¤Î ¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò»²¾È¤·¤Æ%cs 0x08¤È %ds/%es/%ss 0x10¤Ç¥¹¥¿¡¼¥È¤·¤Þ¤¹.
¥«¡¼¥Í¥ë¤Ï¤½¤Î¥í¡¼¥É¥Ý¥¤¥ó¥È¤Çµ¯Æ°¤µ¤ì¤Þ¤¹. Ê̤Î(¹â°Ì)¥¢¥É¥ì¥¹¤Ë¥ê¥ó¥¯¤µ¤ì¤ë¤Î¤Ç, ¥Ú¡¼¥¸¥Æ¡¼¥Ö¥ë¤ä¥Ú¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤É¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì, ¥Ú¡¼¥¸¥ó¥°¤¬Í¸ú¤Ë¤Ê¤ê, ¥«¡¼¥Í¥ë¤¬¥ê¥ó¥¯¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Ç ưºî¤¹¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¤Ï, ¥«¡¼¥Í¥ë¤Ï¥í¡¼¥É¥¢¥É¥ì¥¹¤«¤é¤Î ÁêÂÐ¥¢¥É¥ì¥¹ (PIC: position independent code) ¤òÍѤ¤¤Æ ¼Â¹Ô¤µ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó.
´ó£: David Greenman <dg@FreeBSD.ORG>. 16 Apr 1995.
¥«¡¼¥Í¥ë¤Î BSS ¥»¥°¥á¥ó¥È¤Îľ¸å¤ÎʪÍý¥Ú¡¼¥¸ (¼Â¥á¥â¥ê) ¤Ë proc0 (ÌõÃí: ¥×¥í¥»¥¹ÈÖ¹æ 0, swapper) ¤Î¥Ú¡¼¥¸¥Ç¥£¥ì¥¯¥È¥ê¤ä ¥Ú¡¼¥¸¥Æ¡¼¥Ö¥ë, U¥Ú¡¼¥¸¤¬ÇÛÃÖ¤µ¤ì¤Þ¤¹. ²¾ÁÛµ²±µ¡¹½¤¬½é´ü²½¤µ¤ì¤¿¾¯¤·¤¢¤È, 0x1000-0x9ffff¤Î¼Â¥á¥â¥ê¤È¥«¡¼¥Í¥ë (text + data + bss + ¾åµ¤Î proc0 ¤Ë´Ø¤ï¤ë¤â¤Î + ¤½¤Î¾) ¤Î¸å¤í¤Î¼Â¥á¥â¥ê¤Ï, Ä̾ï¤Î²¾ÁÛµ²±¥Ú¡¼¥¸¤Î·Á¤ÇÍøÍѲÄǽ¤È¤Ê¤ê, ¥°¥í¡¼¥Ð¥ë¤Ê¶õ¤¥Ú¡¼¥¸¥ê¥¹¥È¤ËÄɲ䵤ì¤Þ¤¹.