Boot Loader   부트 로더

(2019-08-26)

Boot Program, 부트 프로그램, Bootstrap, 부트스트랩

1. 부트 로더(Boot Loader) / 부트 프로그램(Boot Program) / 부트스트랩(Bootstrap) / 부트 이미지 파일전원이 켜지기 전에 실행가능 상태로 존재하고 있다가, 
     - 주로, 시스템에 내장된 ROM, 하드디스트, 네트워크 상의 다른 서버 등에 저장되어 있다가,
     - 전원이 켜지면 자동으로 실행되는 프로그램
        
  ㅇ 통상, 
     - BIOS가 특정 운영체제를 적재해 줄 부트 프로그램메모리로 올리고,
     - 이곳으로 제어권을 넘기며 점프 수행되면,
     - 특정 운영체제커널(Kernel)을 메모리에 올리고,
     - 최종적으로는 제어권을 운영체제커널(Kernel)로 넘겨주게 됨

  ※ 한편, `부트스트랩(Bootstrap)` 이라는 용어는,
     - `자동으로 설정되어지게 함`이라는 매우 일반적인 용어로도 쓰이고 있음


2. 부트 로더의 주요 동작 사항전원이 켜지기 전에 실행가능 상태로 존재하고 있다가, 
     - 주로, 시스템에 내장된 ROM, 하드디스트, 네트워크 상의 다른 서버 등에 저장되어 있다가,
  ㅇ 전원이 켜지면 바이오스(BIOS)로부터 제어권을 넘겨받아서,
  ㅇ RAM을 사용할 수 있게 초기화하고,
  ㅇ 루트(root) 파일시스템을 준비하고,
  ㅇ 자신을 RAM에 복사한 후 RAM 상에서 계속 실행하며,
  ㅇ 필요한 하드웨어를 초기화하고,
  ㅇ 특정 운영체제 커널컴퓨터 메모리 RAM에 올린 후,
  ㅇ 제어권(실행권한)을 운영체제 커널에 넘겨주는 프로그램

  ※ 한편, 여기에 언급된 일련의 과정을 부팅이라고 함


3. 마스터 부트 프로그램(Master Boot Program) => 부트 로더(Boot Loader)

  ㅇ 과거, 대부분의 PC 기반의 시스템에서는, 2단계 절차를 갖음
     - 단순한 부트 로더(Boot Loader)가, 
        . 더욱 복잡한 부트 프로그램을 여타 다른 곳(하드디스크 등)으로부터 메모리에 적재하고,
     - 이 부트 프로그램이, 
        . 커널을 메모리에 로딩(적재)하게 함

  ㅇ 즉, PC 기반 BIOS 경우에는,
     - PC 기동시의 BIOS 진단(POST)을 마친 후, 
     - 부트 프로그램하드디스크 첫번째 섹터에서 찾고,  ☞ MBR (Master Boot Record) 참조
     - 455 바이트 크기의 작은 부트 프로그램이, 다른 대용량 저장장치로부터,
     - 덩치큰 커널 프로그램을 로딩하여 부팅 과정을 시작하게 됨

  ㅇ 한편, 리눅스에서 대표적인 부트 로더는,
     - LILO (과거)
        . 리눅스 만 가능
     - GRUB (grand unified bootloader)
        . 리눅스,윈도우즈 모두 가능. 멀티 부팅 가능. LILO에 비해 쉬움. 부팅시에 명령 수정도 가능.


4. 부트 디스크, 시스템 디스크

  ㅇ 여러 다중 하드디스크들을 갖는 파티션 중에서, 
     부트 디스크 파티션을 갖는 하드디스크를 일컬음


[부팅] 1. 부팅 2. 부트 로더 3. 웜,콜드 부팅 4. BIOS 5. EFI, UEFI 6. 펌웨어

 
        최근수정     요약목록     참고문헌