[OS] 운영체제의 구조와 부팅

parkheeddong·2023년 3월 8일
0

Operating System

목록 보기
5/63

1. 운영체제의 구조

  • 운영체제는 커널과 utility로 구성되어 있다.

1) Kernel

= Nucleus, Supervisor Program, Resident Program, Control Pprogram

  • 운영체제의 자주 사용되는 기능들은 대부분 커널에 들어 있다.
  • 어플리케이션을 위한 기능을 지원하며, 프로세스, 리소스 관리 기능을 주로 지원한다.
  • 컴퓨터 시스템이 부팅된 후 메모리 안에 로딩되어 상주하는 영역

2) Utility

= Non-resident program, Service Program

  • 사용자와의 interaction을 담당하는 영역
  • UI 기능을 비롯해서, Service 기능을 지원한다.
  • 컴퓨터 시스템이 부팅되어도 디스크에 남아 있을 뿐, 메모리에 상주하지 않는다.
  • Utility 프로그램이 필요한 때에만 메모리에 들어가고, 끝나면 다시 나온다.

=> 핵심 기능인 kernel만 메모리에 상주하는 방식.

2. 부팅

1) 부팅

  • 운영체제의 커널 영역을 디스크에서 찾아서 메모리로 이동, 로드하는 것을 의미한다.

2) 부팅으로 발생하는 일

(1) CPU Register 초기화

  • CPU의 레지스터 값을 모두 0으로 초기화한다

(2) Device Controller 초기화

  • 마우스 등 디바이스 컨트롤러를 0으로 초기화한다.

(3) 메모리 컨텐츠 초기화

  • 주기억장치 내부, 커널 외의 사용자 메모리에 이상한 값이 올라와있지 않도록 초기화한다.

3) 부스트랩 로더(부스트랩 프로그램)

  • 이렇게 부팅을 시키는 프로그램을 부스트랩 프로그램(부스트랩 로더)라고 한다.
  • 부스트랩 로더는 ROM에 Firmware의 형태로 저장되어 있다.

4) 부팅의 과정

(1) 전원이 켜지면, ROM의 Firmware가 실행되면서 하드디스크 저장장치의 부스트랩 코드를 메모리에 올려서 실행한다.

  • 이 코드는 하드디스크의 첫 번째 블록에 위치한다.

(2) 부스트랩 코드가 실행되고, OS 커널을 찾아서 메모리에 올려 실행함으로써 '부팅'이 이루어진다.

  • 즉 부스트랩 프로그램이 부팅을 진행하는 것이며, 부팅은 부스트랩 프로그램을 통해 실행된다.

0개의 댓글