포스트

C++로 나만의 운영체제 만들기 3장

커널 로딩에 대해 알아보자

C++로 나만의 운영체제 만들기 3장

GRUB(Grand Unified Bootloader)

GRUB은 GNU 프로젝트의 부트로더이다. OS를 부팅할 때 장치(HDD, 플로피 디스트, USB)에 구애되지 않고 부팅이 되도록 도와준다. 또한, OS 멀티 부팅을 위해 사용된다.

부트로더(boot loader)란 운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마무리하고 최종적으로 운영 체제를 시동시키기 위한 목적을 가진 프로그램을 말한다.

부팅 과정부팅 과정

부팅(Booting)

GRUB을 통한 전체 부팅 과정이다.

  1. BIOS가 부팅 장치를 찾고 MBR(Master Boot Record)을 읽어온다.
  2. MBR에 GRUB 스테이지 1이 있고, 이것이 스테이지 1.5나 2를 불러온다.
  3. 스테이지 1.5는 MBR의 다음 30KB 영역에 저장되며 스테이지 2를 불러온다.
  4. GRUB 스테이지 2는 부트 메뉴나 명령 프롬프트를 보여준다.
  5. 커널을 메모리에 적재시켜서 커널 엔트리를 실행한다.

과정부팅 과정

과정부팅 과정

과정이래서 boot strap이라 부르는 건가?

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.