본문 바로가기

개발에 도움이 되는/CS

컴퓨터를 켜면 일어나는 과정 (OS 부팅 과정)

1. 전원을 켜면 파워 서플라이가 메인보드에 전기를 공급하고, 메인보드가 작동한다.

 

2. 메인보드에 내장된 메인 메모리인 ROM (Read Only Memory)의 BIOS (Basic Input Output System)가 실행된다. 

  - BIOS : 시스템 보드 칩에 포함된 가장 먼저 실행되는 소프트웨어.

컴퓨터의 하드웨어를 식별, 구성, 테스트하고 운영 체제로 연결하여 추가 지침을 내릴 수 있도록 함 (이 절차를 부트 프로세스라고 부름)

 

3.  BIOS는 RAM, 키보드, 디스크, 기타 하드웨어 등 필수적인 주변 장치들이 문제 없이 동작하는 지 확인하기 위한 테스트인 POST (Power On Self Test)를 동작 시킨다. 만약 문제가 있으면 삑 소리와 함께 에러메시지를 나타내고 부팅이 중단된다.

 

4. POST를 통과했다면 부트 로더 (Boot Loader)가 있는 드라이브를 찾는다. A 드라이브부터 찾아보고 만약 A 드라이브가 없거나 BIOS 셋업에서 다른 드라이브를 먼저 찾아보도록 셋팅한 경우는 해당 드라이브를 검색한다.

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

 

5. 부트 로더가 있는 드라이브를 인식하고 나면 BIOS는 부트 로더 (Boot Loader) 이미지(MBR ; Master Boot Record)를 메모리의 0x7C00 주소로 복사(로드)한다. 

 - MBR (Master Boot Record) : 저장매체의 첫 섹터로 해당 섹터안에 저장된 부트 로더를 실행 시키기 위함.

 - 0x7C00인 이유?

   IBM 사가 메모리의 0x00007C00~0x00007dff 번지 (512byte)를 부트 섹터를 읽는 주소로 지정했기 때문이다.

 

6. 부트 섹터를 읽으면서 파티션안에 커널 이미지 주소를 알아내어 메모리에 로드하고 최종적으로 OS를 실행하고 통제권을 준다.

 

반응형