일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 3.0
- Windows
- 우분투
- DATABASE
- 자바
- 자바스크립트
- javascript
- Atlassian
- 데이터베이스
- DB
- node
- hamonikr
- 아틀라시안
- postgres
- install
- JS
- PostgreSQL
- Linux
- 스크립트
- 파이썬
- 하모니카
- java
- 노드
- 설정
- script
- 윈도우
- 설치
- 리눅스
- python
- ubuntu
- Today
- Total
LukeHan 의 잡다한 기술 블로그
OS 부팅 본문
참고 : blog.naver.com/PostList.nhn?blogId=s2kiess
부팅 이란
PC 전원이 들어온 후 운영체제가 실행되기 전 과정을 말한다.
하모니카로 치면 하모니카 로고가 나오기 전까지 과정을 부팅 과정이라고 하는 것이다.
이 과정에서 프로세스 초기화, 메로리와 외부 디바이스 검사 및 초기화, 부트 로더 호출 및 OS 시작 등의 작업을 한다.
간단히 말해 모든 것을 초기화 하고 OS를 로딩하는 과정이다.
부팅 과정에서 H/W 관련된 작업들을 BIOS (Basic Input/Output System) 가 수행하고,
BIOS가 하는 각종 작업들을 POST(Power On Self Test, 자가진단) 라고 한다.
BIOS는 펌웨어다. 메인보드에 포함되어 있어 종류에 따라 다른 BIOS 가 탑제되어 있다.
보통 메인보드에 ROM, 플래시 메모리 형태로 존재하고, 전원을 넣었을 때 가장 먼저 실행되는 코드가 BIOS 이다.
시스템 전반적인 설정 값 관리, 부팅 옵션 설정, 설정한 값으로 초기화 등의 작업을 한다.
부팅 과정
부트로더는 부트스트랩(Bootstrap) 코드 라고도 불리며 BIOS 로 부터 제어권을 넘겨 받는 가장 첫 부분 이다.
부트로더는 저장 매체의 첫 부분에 존재한다. 득, OS가 설치되어 있는 저장 매체의 가장 첫 부분에 존재한다는 말이다.
부트로더로 CD 혹은 USB 메모리로 부팅을 시킬 수 있다.
BIOS 가 POST 과정을 거치고 나서 저장 매체에 부트로더가 존재하는지 검사한다.
저장 매체에 부트로더가 존재한다면 메모리에 코드를 복사한 후 프로세서가 코드를 실행하도록 만든다.
부트로더가 만약 없다면 BIOS 'Operation System Not Found' 라는 메시지를 내뱉는다.
부트로더가 디스크에서 메모리로 복사 되었다면 OS 를 메모리에 올려 실행할 준비가 끝났다는 것을 의미한다.
부트로더 개념
부트로더는 저장 매체(HDD 등)에 들어 있으며 MBR(Master Boot Record) 이라는 곳에 있는 매우 작은 프로그램 코드이다.
MBR 은 OS가 설치되어 있는 저장 매체의 가장 첫 번째 섹터를 MBR 이라고 한다.
부트로더의 가장 큰 역할은 OS 실행에 필요한 환경 설정 및 OS 이미지를 메모리에 복사하는 것. 이 두 가지 기능이다.