본문 바로가기
Computer Science/운영체제

Operating System - Bootstrapping

by NCTP 2022. 6. 1.

PC의 전원 버튼을 누르면

메인보드의 전원 단자가 쇼트가 나면서 파워에 불이 들어온다.

 

1. CPU 초기화 및 BIOS 로드

제일 먼저 CPU가 스스로를 초기화하고 고정되어 있는 주소인 0xffffffff0에 있는 instruction을 수행.

여기에는 뭐가 있지? BIOS가 있다. (Basic Input Output System)

CPU가 가장 먼저 수행하는 명령어가 저장되어있는 주소에 BIOS가 있다는 것.

전원이 꺼져도 데이터가 살아있어야 하니 ROM에 저장됨.

 

2. BIOS의 하드웨어 검사

BIOS/UEFI로 jump한다.

CPU는 앞서 초기화하면서 점검을 마쳤고, CPU를 제외한 나머지 필수 요소(Memory, GPU, I/O devices...)들이 정상적으로 저장되어 있는지를 체크한다. 이를 POST(Power On Self Test)라고 한다.

모두 잘 동작함을 확인하면, Boot Loader를 통해 운영체제를 불러온다.

 

3. Boot Loader를 통한 운영체제 로드

하드웨어 검사에서 문제가 있으면 부팅이 안되고 멈춤. 문제가 없다면 운영체제를 읽어옴.

Boot Loader에는 불러올 운영체제가 저장되어 있음.

(Boot Loader는 BIOS 에서는 MBR, UEFI에서는 ESP)

Boot Loader가 실행되면 운영체제가 로드되는데, MBR에는 설치되어 있는 운영체제들의 리스트를 저장하고 있음.

Boot Loader에는 설치된 운영체제들이 저장되어 있으며, 따로 저장되어 있지 않다면 가장 우선되는 운영체제를 불러온다.

 

4. LILO/GRUB가 운영체제를 전달하고 커널의 압축을 다 풀고나서 로드가 된 운영체제에게 CPU의 권한을 건네준다. 그 후 우리가 사용할 수 있는 형태로 화면에 나타나게 된다.

 

5. 모든 것이 끝나면 CPU를 쉬게 둘 수 없기 때문에 운영체제가 IDLE process를 통해 CPU가 쉬지 않도록 한다.

댓글