[운영체제] 컴퓨터가 부팅하는 과정

2021. 12. 16. 12:59OperatingSystem

개요

이번글에서는 컴퓨터가 부팅하는 과정을 소개합니다.

 

1. 컴퓨터의 부팅(booting) 과정

step1. 컴퓨터의 전원버튼을 누르면 메인보드에 전원이 들어옵니다. 메인보드에 부착된 장치들(CPU, ROM, RAM, ...)에게 전력이 공급됩니다.

step2. CPU가 ROM(Read-Only Memory)에 저장된 "펌웨어(Firmware)"인 "BIOS(Basic Input/Output System)"를 실행합니다.

step3. 실행된 "BIOS"는 "POST(Power on Selft Test)"라는 과정을 수행하게 됩니다. POST 과정을 수행하면 주변 하드웨어를 체크하고 이상이 없나 검사합니다.

step4. "부팅매체"를 선택하고 부팅매체의 "MBR(Master Boot Record)"에 저장된 부팅 정보를 읽어오는 "부트스트랩(Bootstrap)"을 실행합니다.

위의 그림에서 bootstrap 과정을 한 문장으로 설명하면 "BIOS가 MBR영역의 bootloader를 메모리에 올리는 과정"이라고 설명할 수 있습니다.

 

step5. bootstrap 과정으로 RAM에 bootloader가 올라가고 bootloader는 디스크(disk)에 있는 운영체제(OS) 커널 코드를 복사해서 메모리에 복사 붙여넣기 하여 운영체제를 실행합니다.

step6. 성공적으로 운영체제(OS)가 부팅되고 제어권을 운영체제게 넘깁니다.

2. 부팅과정 용어

2.1 ROM(Read-only-Memory)

  • 읽기만 가능한 메모리
  • 전력 공급이 끊겨도 저장된 데이터가 사라지지 않음 (비휘발성)

2.2 펌웨어(Firmware)

  • 한번 만들어 놓으면 바꿀 수 없게 고정된(firm) 프로그램(ware)
  • 펌웨어의 대표적인 것으로 BIOS가 있음

2.3 BIOS(Basic Input/Output System)

  • BIOS는 실제 컴퓨터 부품과 장치들의 입력(Input)과 출력(Output)을 조절하는 소프트웨어
  • 실제로 OS가 하드웨어의 입출력을 제어하고 싶으면 BIOS를 통해서 제어합니다.

2.3 POST(Power on Self Test)

  • BIOS가 컴퓨터를 킬때 문제가 있나 하드웨어 기기들을 자가 검사하는 것

2.4 MBR(Master Boot Record)

  • 모든 기억장치(USB, HDD, SSD 등)는 첫번째 섹터(512Byte)에 MBR이란 영역을 가지고 있음
  • MBR은 주 파티션(Primary Partion)에 대한 정보 4개를 기록할 수 있는 64Byte 공간과 bootloader가 저장되어 있음

2.4 Bootloader

  • Bootloader란 운영체제를 메모리에 올려주는 역할을 수행함

2.5 Bootstrap

  • Bootstrap은 운영체제를 키는 부팅과정을 도와주는 BIOS나 ROM에 들어있는 코드
  • 즉, BIOS가 디스크의 MBR 영역에 존재하는 bootloader를 메모리에 적재하는 과정을 의미함

 

References

https://mamu2830.blogspot.com/2020/04/bios-post-mbr.html