본문 바로가기
컴퓨터 공학/운영체제

운영체제의 5가지 특징 및 부트스트랩 로더(Bootstrap loader)

by Montmartree 2020. 4. 24.

운영체제에는 5가지의 특징이 있다.

 

 

1. Simple structure

 

    >  모듈화 및 계층화가 되어있지 않은 원시 OS의 구조로, User 프로그램의 하드웨어 접근이 가능하였다.

 

        현대의 OS는 복잡한 구조로 설계되어 있으므로 해당 구조는 사용되지 않는다.

 

 

2. Layered approach

 

    >  OS를 계층화하여(Level 0 ~ N) 각 계층별로 역할을 분리한 구조로, 상위계층은 하위계층의 기능을 사용할 수 있다.

      

        디버깅과 프로그램 구현에 있어 용이하다.

 

        그 이유는 프로그래머가 하위 계층의 내용을 전혀 신경쓰지 않아도 되기 때문이다.

 

 

3. Microkernel

 

    >  기존의 Kernel 기능(프로세스, 메모리, 파일시스템, 입출력장치 관리)에서 핵심인 프로세스 기능만 남겨두고

 

        나머지 기능들은 User 레벨로 옮긴 구조이다.

 

 

4. Module

 

    >  OS를 기능별로 나누어 놓은 구조로, 각각의 기능을 필요에따라 loading 및 unloading 할 수 있다.

 

 

5. Virtual machine

 

    >  여러 개의 다른 OS를 하나의 하드웨어에서 작동할 수 있게한다.

   

        2번에서 설명했던 Layer 개념에서 Virtualization Layer가 이 기능을 담당한다.

 

 

 

 

 

 

 

부트스트랩 로더(Bootstrap loader)는 부트 로더(Boot loader)라고도 불리며

 

전원이 켜지면 시스템 부팅을 도와주는 제일 먼저 자동으로 실행되는 프로그램이다.

 

일반적으로는 ROM에 저장되어 항상 실행가능한 상태로 존재한다.

 

 

부팅 과정은 아래와 같다.

 

1. 전원이 켜지면 BIOS로 부터 제어권을 넘겨 받는다.

 

2. RAM을 실행 가능하게 초기화 한다.

 

3. 자신을 RAM에 복제하여 실행한다.

 

4. 하드웨어를 초기화 한다.

 

5. OS를 메모리로 로딩한다.

 

6. 제어권을 OS의 첫번째 라인으로 넘겨준다.

 

 

 

위의 방법은 일반적인 부팅 방법이다.

 

그런데, 대부분의 PC는 부트 프로그램이 복잡하기 때문에 이를 따로 실행시키는 방법을 사용한다.

 

이를 Two step approach 라고 한다.

 

부트 프로그램을 Boot block이라고 하는데, Boot block은 위의 부팅 과정의 5, 6번을 수행한다.

 

즉, 전원이 켜지면 부트 로더는 1 ~ 4번의 기능을 수행하고 Boot block을 메모리에 적재하고 끝인 것이다.

 

그 이후는 부트 프로그램이 알아서 부팅 과정을 진행한다.

'컴퓨터 공학 > 운영체제' 카테고리의 다른 글

교착상태(Dead lock)  (0) 2020.07.13
프로세스(Process)  (0) 2020.04.23
시스템 콜(System call)  (0) 2020.04.22
인터럽트(Interrupt)  (0) 2020.04.14