본문 바로가기
컴퓨터공학기초 개념/운영체제

38. 부팅의 이해

by devraphy 2021. 7. 12.

- 운영체제 부분에서 부팅 과정은 핵심적으로 다루는 주제가 아니다. 

- 그러므로 참고로 이해를 하면 좋을 것 같다. 

 

1. 부팅이란? 

- Boot 프로그램을 이용하여 컴퓨터를 켜서 동작시키는 절차 

    ▶ Boot 프로그램: Storage에서 OS커널을 특정 주소의 물리 메모리에 복사하고 커널의 처음 실행위치를 PC로 설정하는 프로그램  


2. 부팅과정  

- 컴퓨터를 키면, BIOS가 특정 Storage를 읽어와 bootstrap loader를 메모리에 올리고 실행한다.

- bootstrap loader 프로그램이 있는 곳을 찾아서 실행시킴  

* ROM-BIOS 칩: 메모리로 구분되며, 컴퓨터의 전원이 꺼져도 데이터가 남아있다.  

 

a) 부팅과정의 이해

1. 컴퓨터가 켜지면, CPU는 무조건 ROM의 특정 주소(=FFFF0H)를 읽게끔 설정(=매핑) 되어있다. 

2. CPU에 의해 ROM-BIOS에서 읽힌 부분이 실행되는데, 이는 RAM에 BIOS 코드를 로드하는 역할을 한다. 

3. RAM에 올라간 BIOS 코드는 두가지 역할을 담당한다. 

    ▶ 컴퓨터 초기화 

    ▶ MBR에 접근하여 부트로더 읽기

    ▶ MBR: 저장매체의 첫번째 주소 영역을 의미한다) 

4. BIOS는 MBR에서 읽어온 부트로더라는 프로그램을 RAM에 올려 실행시킨다.

5. 부트로더에는 파티션 table을 갖고 있다. 이는 OS가 적재되어있는 파티션(=메인 파티션)의 경로가 들어 있다.   

6. 메인 파티션의 경로를 따라가면 부트섹터에 접근하게 되고, 부트섹터에는 부트 코드가 적재되어 있다.

7. 부트섹터에서 가져온 부트 코드를 RAM에 올리고 실행하게 되면, 커널 이미지를 읽어 실행하게 된다. 

    ▶ 커널 이미지: 운영체제 실행파일

8. 최종적으로 컴퓨터가 부팅되어 OS가 실행된다. 

댓글