개요

 

학습목표

  • 운영체제의 정의, 실행 절차, 구성요소를 설명할 수 있다.

1. 운영체제(OS:Operating System)란 무엇일까?

OS는 사용자가 컴퓨터를 원하는대로 쉽게 사용할 수 있도록 도와주는 프로그램이다.
컴퓨터를 말에 비유하자면 OS가 없는 컴퓨터는 야생마와 같다고 볼 수 있다.
야생마가 아무리 빠르고 튼튼해도 길들여지지 않았다면 기수는 말을 타지 못할것이다.
좋은 말을 원하는 대로 다루기 위해선 재갈을 물리고 안장을 올려 훈련을 시키는 등의 과정이 필요하다.
위와 같은 관점에서 바라봤을 때 OS는 재갈에 해당한다고 볼 수 있다.
컴퓨터가 비싸고 좋은 최첨단 하드웨어들로 구성되어 있어도 OS가 없다면 이것들을 사용할 수 없다.
OS는 컴퓨터의 하드웨어를 내가 원하는대로 다룰 수 있도록 도와주는 프로그램이다.
좋은 OS는 하드웨어가 자신의 성능을 최대한으로 발휘할 수 있게 도와준다.
반대로 OS가 형편 없어 이를 뒷받침하지 못한다면, 좋은 하드웨어를 장착하는것이 의미가 없어진다.
그만큼 OS는 컴퓨터에 있어 중요한 부분이라고 볼 수있다.

2. OS는 어떻게 실행될까?

1. 컴퓨터의 전원이 켜진다.
2. Processor(CPU)는 제일 먼저 메모리(ROM)의 POST를 실행한다.  
3. POST에 이상이 없다면 Boot Loader를 실행한다.  
4. 부팅이 끝나면 OS는 사용자의 명령을 기다린다.
  • ROM(Read Only Memory)
    메인보드에 위치하는 메모리.
    OS를 부팅하기 위한 최소한의 명령어들이 있고, 전원이 켜질 때 단 1번만 사용된다.

  • RAM(Random Access Memory)
    흔히 말하는 메모리이다. 실제 프로그램들이 실행을 위해 적재되는 공간이며, OS도 여기에 위치하게 된다.

  • POST(Power-On Self-Test)
    ROM에 위치하는 프로그램이다.
    컴퓨터의 전원이 켜지고 컴퓨터의 구성요소들이 정상적으로 동작하는지 체크하는 역할을 한다.

  • Boot Loader
    ROM에 위치하는 프로그램이다.
    부트 로더는 디스크를 탐색해 OS를 RAM에 적재하는 작업을 하는데 이를 '부팅(Booting)'이라고 한다.
    부트 로더는 부트스트랩(Bootstrap)이라고도 불린다.

OS는 위와 같은 절차를 따라 메모리에 적재가 되고 계속 실행중인 상태가 된다.
게임, 워드 프로세서와 같은 일반 프로그램들은 프로그램을 종료하게되면 메모리에서 사라지게 된다.
하지만 운영체제는 컴퓨터의 전원이 꺼지기 전까지 항상 메모리에 적재된채로 실행중인 상태를 유지한다.
항상 메모리에 상주(Resident)해 있으므로 상주 프로그램이라고도 한다.

3. OS는 어떻게 구성되어 있을까?


위 그림은 하드웨어, OS, 어플리케이션의 관계를 표현한 것이다.
가장 중심부에는 하드웨어(Hardware)가 위치해있다.
그리고 그 위에는 하드웨어를 다루기 위한 OS가 존재한다.
OS는 크게 커널(Kernel)과 셸(Shell)로 구성되어 있다.
커널은 실제로 하드웨어를 관리하는 역할을 한다.
셸은 사용자의 명령을 해석해 커널을 다룰 수 있게하는 역할을 한다.
그래서 명령어 해석기(Command Interpreter)라고도 한다.
OS의 위에는 어플리케이션(Application)이 위치한다.
흔히 응용프로그램이라고 부르는데, OS의 위에서 실행이 되므로 실행환경은 OS에 종속되어 있다.
때문에 Windows용 프로그램을 Linux에서 실행할 수 없다.

Reference