2장. Linux ºÎÆðúÁ¤ÀÇ °£·«ÇÑ review

¸®´ª½º´Â ÄÄÇ»ÅÍ¿¡ Àü¿øÀÌ µé¾î¿À¸é, Àû´çÇÑ ºÎÆ®·Îµå·ÎºÎÅÍ Ä¿³Î À̹ÌÁö¸¦ ¸Þ¸ð¸®·Î ·ÎµåÇÑ´Ù. ±×¸®°í, BIOS ·Î ÇÏ¿©±Ý setup() ÇÔ¼ö¸¦ ¼öÇàÇϵµ·Ï ÇÑ´Ù. setup() ÇÔ¼ö°¡ ÀûÀçµÇ´Â ±¸Ã¼ÀûÀÎ ¸Þ¸ð¸® ÁÖ¼Ò´Â 0x00090200 ÀÌ´Ù. ¹°·Ð, physical address ÀÌ´Ù. ÀÌ ÇÔ¼ö´Â Àڱ⿡°Ô ÇÒ´çµÈ ¸î°¡Áö ÃʱâÈ­ ÀÛ¾÷µéÀ» ÇÏ°í´Â, startup_32() ¾î¼Àºí¸® ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. startup_32() ÇÔ¼ö´Â ¸¶Áö¸·À¸·Î start_kernel() ÇÔ¼ö¸¦ È£ÃâÇϸç, start_kernel() ÇÔ¼ö´Â ¸î°¡Áö Ä¿³Î ½º·¹µå¸¦ »ý¼ºÇÏ°í, ¸¶Áö¸·À¸·Î /sbin/init À» ½ÇÇà½ÃÅ´À¸·Î½á ½Ã½ºÅÛÀº ¿ÏÀüÈ÷ up µÈ´Ù.

¿ì¸®°¡ ¾Ë±â¸¦ ¿øÇÏ´Â interrupt descriptor table, IDT ÀÇ ÃʱâÈ­´Â startup_32() ÇÔ¼ö¿Í start_kernel() ÇÔ¼ö¿¡¼­ µÎ´Ü°è¿¡ °ÉÃļ­ ÀϾ´Ù.