티스토리 뷰
운영체제(Operating System)는 컴퓨터를 편하게 쓸 수 있도록 HW/SW를 관리해주는 프로그램입니다.
OS의 목적과 세부 기능을 알기 위해 부팅부터 알아보려 합니다.
컴퓨터 구조
컴퓨터는 어떤 프로그램을 실행하기 전에 메모리에 미리 실행하고자 하는 일련의 명령들을 기록을 해둡니다.
이 명령들을 Instruction이라 부르고, 하나의 프로그램은 Instruction의 집합으로 이루어져 있습니다..
프로세서는 메모리에 있는 Instruction들을 하나씩 프로세서로 가져와서 실행시키길 반복합니다.
이제 PC를 한번 켜봅시다.
부팅
PC를 켜면 RAM에는 아무런 Instruction이 없습니다. 휘발성 메모리기 때문입니다.
프로그램은 비휘발성 저장 공간 안에 들어있고 우리가 필요로 하는 프로그램을 그곳에서 꺼내 메모리에 올린 후, 프로세서가 읽어 들이는 과정을 거치고 있는 것입니다.
그러나 프로세서는 SSD에 직접적으로 접근하지 않고 메모리에 접근하기 때문에 PC를 처음 켤 때 필요한 필수적인 Instruction은 메모리에 있어야 합니다. 비휘발성 메모리인 ROM이 따로 존재하는 이유입니다.
PC 전원을 켜면 먼저 메인보드에 전력이 공급되며, 메인보드에 달려 있는 장치 역시 전력을 공급받습니다.
전력을 공급받은 프로세서는 ROM에 있는 펌웨어인 BIOS를 읽어오게 됩니다.
BIOS는 컴퓨터 장치 연결 상태를 확인하는 Instruction인 POST(Power-On Self Test)를 실행시킵니다.
POST가 정상적으로 실행되면 BIOS는 Boot Loader라는 명령을 추가로 실행시킵니다.
Boot Loader는 SSD에서 OS를 찾아서 RAM으로 이동시키는 명령입니다.
1 PC 전원을 켜면 프로세서가 ROM의 Instruction들을 읽고,
2~3 ROM의 Boot Loader가 SSD 내의 OS를 RAM으로 이동시키고,
4 RAM에 있는 OS를 프로세서가 읽으면 부팅에 성공하게 됩니다.
이렇게 부팅을 성공적으로 하게 되면 ROM은 자신의 역할을 다하게 됩니다.
'운영체제' 카테고리의 다른 글
[운영체제] 프로세스 동기화 (0) | 2020.12.24 |
---|---|
[운영체제] CPU 스케쥴링 (0) | 2020.12.24 |
[운영체제] 시스템 콜 (0) | 2020.09.20 |
[운영체제] 인터럽트 (0) | 2020.09.15 |
[운영체제] 운영체제와 HW, SW (0) | 2020.09.15 |
- Total
- Today
- Yesterday
- mach-o
- 네트워크 플로우
- rxswift
- 벨만포드 시간복잡도
- State Restoration
- 부스트캠프 6기
- WWDC17
- Testable
- CPU와 Memory
- WWDC19
- IOS
- 최대 매칭
- 코딩대회
- 최단경로 문제
- 컴퓨터 추상화
- 네트워크 유량
- 에드몬드 카프 알고리즘
- test coverage
- WWDC16
- WWDC21
- 벨만포드 알고리즘
- MeTal
- 다익스트라 시간복잡도
- 최단경로문제
- 최단경로 알고리즘
- HIG
- 포드 풀커슨 알고리즘
- CompositionalLayout
- observeOn
- 강한 순환 참조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |