- 운영체제 부분에서 부팅 과정은 핵심적으로 다루는 주제가 아니다.
- 그러므로 참고로 이해를 하면 좋을 것 같다.
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가 실행된다.
'컴퓨터공학기초 개념 > 운영체제' 카테고리의 다른 글
컴공기초 - 운영체제 개념 총정리(상) (0) | 2021.07.16 |
---|---|
39. 가상머신의 이해 (0) | 2021.07.12 |
37. 파일 시스템 - inode 방식과 가상 파일시스템 (0) | 2021.07.09 |
36. 파일시스템 - 파일 시스템의 이해 (0) | 2021.07.09 |
35. 가상메모리 - 세그멘테이션 기법 (0) | 2021.07.09 |
댓글