숨숨 베이스

지식이 숨어있는 공간

운영체제란?

Last updated on November 23, 2025

1. 정의

실행할 프로그램에 적절한 시스템 자원을 할당하고, 프로세스가 올바르게 실행될 수 있도록 관리하는 '특별한' 프로그램

2. 구성요소

(1) 커널

운영체제의 심장으로서, 모든 운영체제가 가지고 있는 핵심 서비스를 수행한다.
전공서에 등장하는 운영체제라는 단어는 사실 커널을 지칭하고 있다.

(2) 사용자 인터페이스

사용자가 운영체제와 소통하는 통로이다.
크게 2가지로 종류가 나뉘는데, 아이콘과 마우스같이 그래픽 기반으로 사용자와 소통하는 인터페이스를 GUI (Graphical User Interface), 명령어 기반으로 소통하는 인터페이스를 CLI (Command Line Interface) 라고 한다.

3. 적재 장소

운영체제 또한 '프로그램'이기 때문에, 메모리에 적재된다. 다만 커널 영역이라는 별도의 공간에 저장되어 컴퓨터 부팅 시부터 종료까지 항시 실행된다. 나머지 일반적인 응용 프로그램들은 사용자 영역에 적재되며 운영체제에 의해 그 생애 주기가 관리된다.
image.png

4. 존재의의

운영체제가 프로그램마다 적절한 자원을 할당하고 실행 과정 내내 꾸준히 관리하는 이유는 반대로 응용 프로그램이 하드웨어 혹은 입출력 장치에 직접 접근하는 것을 방지하여 시스템 자원을 보호하기 위해서 이다.
즉 운영체제가 자원 활용의 브로커 역할을 하는 것이다.
image.png

(1) 응용 프로그램이 자원에 직접 접근하면 생기는 문제점

  1. 자원이 무질서하게 관리된다. -> 이는 교착상태, 덮어쓰기 등 수많은 부작용을 불러 일으킨다.
  1. 하나의 프로그램의 오류가 전체 프로그램으로 오염된다. -> 같이 쓰는 하드웨어 자원에서 오류를 냈음으로

5. 작동원리

응용 프로그램이 실행되다가 외부 입출력 장치나 하드웨어 자원 이용이 필요할 경우, 관련된 운영체제 코드를 호출한다. 이를 시스템 호출 이라고 한다. 이 시스템 호출을 이해하기 위해서는 이중 모드에 대한 이해가 필요한데, 이를 설명하겠다.
이중 모드CPU가 가지는 두 가지 상태를 말하는데, 시스템 자원에 직접 접근하는 명령어를 수행할 수 있는 커널 모드 와 수행할 수 없는 사용자 모드로 나뉜다. 이는 현 시점에 실행 제어권을 지닌 프로그램이 누구인지에 따라서도 나눌 수 있다. 표로 나타내면 다음과 같다.
image.png
image.png
일반적인 응용 프로그램이 제어권을 가진 시점은 사용자 모드이다. 따라서 대부분의 응용 프로그램은 자원이 직접 접근하지 못한다.
  1. 만약 응용 프로그램에서 입출력 장치나 특정 자원 접근이 필요한 경우, 관련된 시스템 콜을 해서 운영체제의 관련 코드를 호출한다.
  1. 호출된 운영체제의 코드가 실행되는 시점은 운영체제란 프로그램에게 제어권이 넘어간 시점이다. 이떄는 커널 모드가 되므로, 입출력 장치나 외부 자원 접근이 가능해진다. 따라서 관련 일을 처리한다.
  1. 이후 다시 제어권을 응용 프로그램에게 넘기고, 응용 프로그램이 실행된다. 이때는 다시 사용자 모드로 돌아온다.

6. 핵심 서비스

  1. 프로세스 관리
  1. 파일 시스템 관리

(1) 프로세스 관리

실행 중인 프로그램을 프로세스라고 한다. 프로세스마다 필요로 하는 자원이나 상태가 각양 각색인데, 이를 일목요연하게 관리하는 것이 운영체제의 역할이다. 운영체제가 핵심 시스템 자원을 프로세스 별로 어떻게 할당하는지 대략적으로 살펴 보겠다.

A. CPU

CPU는 한 번에 하나의 프로세스밖에 처리하지 못한다. 따라서 운영체제는 '어떤 프로세스에게 CPU 사용 우선권을 주고, 또 얼마동안 사용하게 할 것인지' 규칙을 정하고 처리하는 역할을 한다. 이를 CPU 스케줄링이라 한다.

B. 메모리

메모리 공간은 컴퓨터 가동 시간 동안 수많은 프로세스가 할당되고 삭제될 것이다. 운영체제는 현재 실행될 프로세스에게 적절한 빈공간의 주소를 할당하여, 프로세스가 운용될 수 있는 환경을 조성해줘야 한다.

C. 입출력 장치 이용

프로세스마다 활용하고 싶은 입출력 장치가 겹칠 수 있다. 이때도 운영체제가 CPU 스케줄링 하듯이 프로세스 별 우선도와 활용 시간을 특정해줘야 한다.

(2) 파일 시스템 관리

컴퓨터 내 파일들을 컴퓨터가 꺼져도 기억되어야 함으로 보조 기억 장치에 저장된다. 이 보조 기억 장치에 디렉토리와 파일 트리 구조로 관리하는 역할도 운영체제가 담당한다.

부록

A. 모르는 것 정리

  • 시스템 자원
    : 프로그램을 실행하는데 필요한 요소들을 뜻한다.
    CPU, 메모리, 디스크, 입출력 장치등이 이에 속한다.

⬅️ 이전 글
 
➡️ 다음 글