[OS] 운영체제의 개념, 역할 및 구조

2026. 3. 7. 21:20·CS/운영체제

1. 운영체제 개요

1) 운영체제란?

운영체제(OS, Operating System)는 하드웨어 바로 위에 설치되어, 사용자와 응용 프로그램이 하드웨어를 사용할 수 있도록 관리하는 시스템 소프트웨어 입니다.

운영체제의 구조는 다음과 같습니다.

 

위 그림처럼, 운영체제는 하드웨어와 응용프로그램 사이에서 자원을 배분하고 명령을 전달하는 중개자 역할을 수행합니다.

운영체제(OS, Operating System): 컴퓨터 하드웨어를 제어하고, 사용자가 응용 프로그램을 원할하게 실행할 수 있도록 관리하는 소프트웨어



2) 커널(Kernel)

운영체제와 항상 함께 등장하는 핵심 부분 커널에 대해 간단하게 알아보겠습니다.

커널은 운영체제에서 항상 메모리에 상주하며, 하드웨어와 직접적으로 상호작용합니다.


커널은 다음과 같은 기능을 담당합니다.

  • CPU 스케줄링
  • 메모리 관리
  • 파일 시스템 관리
  • I/O 장치 관리

대부분의 운영체제 기능은 커널을 중심으로 동작하며, 컴퓨터 자원을 효율적으로 사용할 수 있도록 관리합니다.

일반적으로 우리가 말하는 운영체제는 다양한 유틸리티와 프로그램이 포함되지만, 좁은 의미에서는 운영체제를 커널이라고 표현하기도 합니다.



3) CPU 실행 모드 - User Mode, Kernel Mode

운영체제는 시스템의 안정성과 보안을 유지하기 위해 두가지 CPU 실행 모드를 사용합니다.

사용자 프로그램이 잘못된 수행으로 다른 프로그램이나 운영체제에 피해가 가지 않도록 하는 보호장치인 셈 입니다.


이러한 실행모드는 Mode bit을 통해 구분되며 CPU를 운영체제가 가지고 있는지 사용자 프로그램이 가지고 있는지 판단합니다.


각 모드의 특징은 다음과 같습니다.

  • User Mode
    • Mode bit = 1
    • 일반 응용 프로그램이 실행되는 모드
    • 하드웨어(디스크, I/O)에 직접 접근할 수 없음
  • Kernel Mode
    • Mode bit = 0 
    • 운영체제가 CPU를 사용하는 모드
    • 모든 하드웨어 자원에 직접 접근 가능



4) System Call

위에서 말했듯이 User Mode에서 실행되는 사용자 응용 프로그램은 하드웨어 자원에 직접 접근할 수 없습니다.

따라서 프로그램이 자원에 접근하려면 운영체제에게 요청해야 합니다. 다음과 같은 상황들이 예시가 될 수 있습니다.

  • 파일 읽기
  • 파일 쓰기
  • 프로세스 생성
  • 네트워크 통신

이때 응용 프로그램이 운영체제에게 서비스를 요청하는 인터페이스를 System Call이라고 합니다.


대표적인 System Call은 다음과 같습니다.

  • read(): 파일 읽기
  • write(): 파일 쓰기
  • fork(): 프로세스 생성
  • exec(): 프로그램 실행

System Call 이 실행되면 CPU는 User Mode에서 Kernel Mode로 전환되어 운영체제가 요청을 처리한 후 다시 User Mode로 복귀합니다.

System Call: 응용프로그램이 운영체제의 커널에게 자원 사용을 요청하는 인터페이스



2. 운영체제의 목적과 역할

1) 운영체제의 목적

운영체제의 목적은 컴퓨터 자원을 효율적으로 관리하고 사용자에게 편리한 실행 환경을 제공하는 것입니다.


구체적으로 다음과 같은 목적을 가지고 있습니다.

  • 자원의 효율적인 관리
    • CPU, 메모리, 디스크, I/O 같은 자원을 여러 프로그램이 효율적으로 사용할 수 있도록 관리
  • 사용자 간 공정한 자원 분배
    • 여러 프로그램이 동시에 실행되는 환경에서 특정 프로그램이 자원을 독점하지 않도록 분배
    • 시스템 전체의 성능을 유지
  • 시스템 보호
    • 프로그램 간 충돌을 방지
  • 사용자 편의성 제공
    • 복잡한 하드웨어 제어를 직접 수행하지 않아도 되도록 인터페이스를 제공
    • 사용자는 보다 쉽게 컴퓨터를 사용할 수 있음



2) 운영체제의 역할

목적을 달성하기 위해 운영체제는 대표적으로 4가지 역할을 수행합니다.

  1. CPU 관리(CPU Scheduling)
    CPU는 한 번에 하나의 작업만 수행할 수 있습니다. 운영체제는 여러 프로그램이 실행되는 환경에서 어떤 프로세스를 먼저 실행할지 결정합니다. 이를 CPU 스케줄링이라고 합니다.

  2. 메모리 관리
    운영체제는 실행중인 프로그램들에게 적절한 메모리 공간을 할당합니다. 또한 프로그램 간 메모리 충돌이 발생하지 않도록 프로세스 간 독립성을 보장합니다.

  3. 파일 시스템 관리
    운영체제는 데이터를 파일 형태로 저장하고 관리합니다.
    파일을 효율적으로 관리할 수 있도록 다음과 같은 기능을 제공합니다.
    • 파일 생성
    • 파일 삭제
    • 디렉토리 관리
    • 접근 권한 관리

  4. I/O 장치 관리
    컴퓨터에는 키보드, 마우스, 디스크, 네트워크 장치 등 다양한 입출력 장치가 존재합니다. 운영체제는 이러한 장치를 직접 제어하며 응용 프로그램은 운영체제를 통해 장치에 접근합니다.

 

'CS > 운영체제' 카테고리의 다른 글

[OS] 프로세스 개념, 프로세스 스케줄링  (0) 2026.04.06
[OS] 블로킹(Blocking)/논블로킹(Non-Blocking), 동기(Syncronous)/비동기(ASyncronous)  (0) 2026.03.09
'CS/운영체제' 카테고리의 다른 글
  • [OS] 프로세스 개념, 프로세스 스케줄링
  • [OS] 블로킹(Blocking)/논블로킹(Non-Blocking), 동기(Syncronous)/비동기(ASyncronous)
단군왕건영
단군왕건영
널리 세상을 이롭게 하고 싶은 개발자
  • 단군왕건영
    홍익인간 개발자
    단군왕건영
  • 전체
    오늘
    어제
    • 분류 전체보기 (90)
      • TroubleShooting (16)
      • Backend (13)
        • Java (2)
        • Spring (9)
        • JPA (2)
      • DB (1)
      • Algorithm (7)
        • 백준 (4)
      • Infra (3)
      • CS (40)
        • 컴퓨터구조 (25)
        • 네트워크 (12)
        • 운영체제 (3)
      • Git (3)
      • Mac (2)
      • 회고 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    컴퓨터 구조
    springboot
    백준
    네트워크
    spring
    컴퓨터구조
    Jenkins
    java
    docker
    MariaDB
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
단군왕건영
[OS] 운영체제의 개념, 역할 및 구조
상단으로

티스토리툴바