-
컴퓨터를 켰을 때, 가장 먼저 실행되는 프로그램은 부트스트랩[Boot stap] 프로그램이다. 부트스트랩은 ROM이나 EPROM 등의 펌웨어[Firmware]에 저장된다. 부트스트랩이 실행되면서 시스템의 모든 기능을 초기화 하고 운영체제의 커널을 메모리에 로딩하고 실행을 하면서 컴퓨터가 켜진다. 이 과정을 step by step로 설명해보겠다.
-
전원이 켜진다.
-
CPU가 ROM 안에 BIOS를 찾고 실행을 한다. BIOS는 HW가 이상이 없는지 체크하고 초기화를 한다.
-
CPU는 전원이 들어오면 메모리에 0x0000번째 명령어를 실행하고 순차적으로 0x0001번째 명령어를 실행한다. 하지만, RAM은 휘발성 메모리이기 때문에 전원이 꺼지면 메모리에 아무것도 없다. 그 뜻은 CPU는 전원이 들어온 시점에 0x0000번째 주소에 실행할 명령어가 없다는 것이다. 그래서 CPU를 위해 비휘발성 메모리인 BIOS를 0x0000에 놓는다.
-
-
초기화 한 후 BIOS는 Boot loader를 찾기 위해 MBR[Master Boot Record]를 찾는다. MBR은 HDD/SSD의 첫번째 512byte다.
-
MBR을 찾으면 HDD/SSD의 Boot loader가 메모리에 로딩된다. Boot loader가 실행이 되면서 초기화를 한다.
-
Boot loader가 커널 이미지를 로딩한다.
-
이 지점이 main.c가 실행 되는 지점, 즉 커널 이미지가 실행되는 지점이다.
-
로그인 하면 된다.
'시스템 > 운영체제' 카테고리의 다른 글
컴퓨터 저장 장치 (0) 2020.04.23 DMA(Direct Memory Access) (0) 2020.04.23 인터럽트 (0) 2020.04.22 컴퓨터 시스템의 구성 (0) 2020.04.22 운영체제란? (0) 2020.04.21 -