-
컴퓨터 부팅 과정Computer Science/Operating System 2022. 3. 21. 22:33
Bootstrap(부트스트랩, 부팅)
PC의 전원 버튼을 누른 직후부터, 운영체제가 메모리에서 동작하기 시작할 때까지의 모든 과정
Bootstrap 과정
- 메인 보드에 전원 공급
- ROM 혹은 EEPROM에 저장된 BIOS 루틴 시작
- POST 진단과정 시작
- BIOS는 셀프 테스트를 통해 주변 하드웨어 체크 (컴퓨터 부팅에 필요한 하드웨어들이 정상인지 확인)
- MBR에 존재하는 부팅 정보를 읽어오는 부트스트랩 실행
- RAM에 Bootloader를 적재 (RAM에는 운영체제가 적재될 Boot Sector가 따로 있음)
디스크에 있는 OS(커널) 코드를 복사하여 메모리에 적재
용어 설명
BIOS (Basic Input Output System)
컴퓨터에 전원이 들어왔을 때 가장 먼저 컴퓨터 제어를 맡아 기본적인 기능을 처리해주는 프로그램들의 집합이다. 즉, 운영체제의 입출력 장치나 주변 장치들을 구동하기 위한 루틴의 집합체다.(이 루틴 명령어들의 집합을 펌웨어라고 한다)
운영체제의 가장 하위에 존재하며, 하드웨어와 운영체제 사이에 위치해 운영체제가 하드웨어의 I/O를 제어할 때 BIOS를 통해 제어하게 된다.
IBM-PC 호환 기종에선 보통 ROM 혹은 EEPROM에 설치되어 있기 때문에 롬 바이오스라고도 하며, 이 때문에 전원이 종료되더라도 사라지지 않는다. 최근 PC들은 Legacy BIOS를 대신해 UEFI를 탑재하기도 한다.
BIOS는 보통 다음과 같은 역할을 수행한다.
- POST를 통해 컴퓨터 상태 확인
- 바이오스 루틴을 호출하는 소프트웨어에 대해 하드웨어를 제어할 수 있도록 해줌
- 하드디스크나 CD-ROM, RAM 등이 추가되어 시스템이 변경된 경우 셋업 할 수 있도록 해줌
POST(Power On Self Test)
BIOS 루틴 과정 중 하나로, 컴퓨터 하드웨어 장치들을 검사하는 과정이다.
만일 이 과정에서 오류가 생긴다면 우리가 흔히 알고 있는 컴퓨터 비프음이 들린다.
MBR(Master Boot Record)
운영체제의 상태와 위치를 파악해 주기억장치에 적재하기 위해 필요한 정보이며 하드디스크의 첫 번째 섹터(512 byte)에 저장되어 있다.
MBR은 Master Partition Table이라고도 한다. 하드디스크가 포맷될 때 나누어진 각 파티션의 위치에 관한 정보를 가지고 있기 때문이다.
Boot Loader
운영체제 시작을 위해 OS를 RAM에 올려주는 부팅 전용 프로그램으로 하드 디스크 파티션 정보는 하드디스크의 첫 번째 섹터, 즉 MBR에 존재한다.
BIOS는 이 파티션 정보를 읽어 활성화되어 있는 파티션(부팅 가능한 파티션, 각 파티션의 첫 번째 바이트로 알 수 있으며 0x80은 부팅 가능, 0x00은 부팅 불가능이다.)의 VBR(Volume Boot Record)를 읽어 해당 데이터를 기반으로 부팅하게 되는데, 이때 MBR과 VBR이 1차 부트로더다.
참고
https://velog.io/@dustjs159/컴퓨터-부팅-과정
컴퓨터 부팅 과정
컴퓨터 부팅 과정
velog.io
https://neos518.tistory.com/113
부팅 시 운영체제가 실행되는 과정
부팅 시 운영체제가 실행되는 과정 1. 바이오스 - BIOS (Basic Input Output System) - 메모리와 CPU 레지스터를 초기화 시킨다. - 디스크로부터 부트 로더를 불러 온다(부트 로더로는 grub나 lilo 등이 있다). -
neos518.tistory.com
컴퓨터 바이오스(Bios)에 대하여
1.바이오스란? 바이오스란 Basic Input and Output System의 줄임말로 기본적인 입출력을 담당하는 기계어 루틴이다. 2 바이오스의 역할은? 바이오스는 컴퓨터 하드웨어와 운영 체제를 연결하는 역할을
liinja.tistory.com
https://heeyamsec.tistory.com/19
부트로더에 대한 이해
부트로더에 대한 이해를 돕기 위해 먼저 컴퓨터 부팅에 대해 설명해보겠다. 00. 컴퓨터 부팅 부팅이란 PC가 켜진 후에 운영체제(이하 OS)가 실행 되기 전까지 수행되는 일련의 작업 과정을 말한다
heeyamsec.tistory.com
https://jinheeahn.wordpress.com/2015/02/13/부트로더에-대한-개념정리/
부트로더에 대한 개념정리
– 구글 위키에서 부트로더의 정의 부트로더(boot loader, 문화어: 초기적재프로그램)란 운영 체제가 시동되기 이전에 미리 실행되면서 커널이 올바르게 시동되기 위해 필요한 모든 관련 작업을 마
jinheeahn.wordpress.com
'Computer Science > Operating System' 카테고리의 다른 글
듀얼 모드(Dual Mode)란? (0) 2022.02.13 시스템 콜(System Call)이란? (0) 2022.02.13