ºÎÆà °úÁ¤ °³¿ä

  1. Àü¿øÀÌ ÄÑÁö¸é ROMÀÇ ÃʱâÈ­ ÇÁ·Î±×·¥ÀÌ ¼öÇàµÈ´Ù.
  2. ºÎÆà ¸Åü·ÎºÎÅÍ 0¹ø ¼½ÅÍÀÇ boot programÀ» ÀоîµéÀδÙ.(0¹ø ¼½ÅÍ : MBR, Master Boot Record), Linux¿¡¼­´Â LILO°¡ À̸¦ ³ªÅ¸³½´Ù.
  3. LILO´Â kernel image¸¦ Àо ½ÇÇàµÈ´Ù. (kernel image : /vmlinuz ȤÀº /boot/vmlinuz)
  4. swapper¶ó°í ºÒ¸®´Â ÇÁ·Î¼¼½º(id=0)ÀÌ ½ÇÇàµÈ´Ù.
  5. init ÇÁ·Î¼¼½º(id=1)°¡ ½ÇÇàµÈ´Ù. (inittab file ÂüÁ¶)

BIOS °³¿ä

BIOS bootstrap

  1. test on the computer hardware(POST : Power-On Self-Test)
  2. initializes the hardware devices
  3. searches for an O.S -> first sector of FD, HD, or CD
  4. copies the contents of its first sector into RAM, starting from physical address 0x00007c00

Boot Loader

    ; is the program invoked by the BIOS to load the image of an operating system kernel into RAM

Ç÷ÎÇÇ µð½ºÅ©·ÎºÎÅÍÀÇ ºÎÆà °úÁ¤

  1. moves itself from address 0x00007c00 to address 0x00090000
  2. sets up the real mode stack, from address 0x00003ff4
  3. sets up the disk parameter table
  4. invokes a BIOS procedure to display a "Loading" message
  5. invokes a BIOS procedure to load the setup() code of the kernel image from the FD and put it in RAM starting from address 0x00090200
  6. invokes a BIOS proceduer to load the rest of kernel image from the FD and puts the image in RAM starting from either low address 0x00010000(zImage) or high address 0x00100000(bzImage)
  7. jumps to the setup() code