혼공컴운_CH9-2_운영체제의 큰 그림

Today Jeeho Learned·2026년 1월 15일

커널과 이중 모드: 응용 프로그램과 운영체제의 관계

1. 개요: 운영체제의 본질

운영체제는 사용자를 위한 것이라기보다, 사용자가 실행하는 프로그램을 위한 프로그램이다.
응용 프로그램이 올바르게 실행되도록 돕고, 필요한 시스템 자원을 할당해 주는 핵심 역할을 수행한다.


2. 운영체제의 심장, 커널 (Kernel)

운영체제는 현존하는 프로그램 중 가장 규모가 큰 프로그램 중 하나이며, 그 핵심 서비스가 바로 커널이다.

  • 역할: 프로그램이 올바르고 안전하게 실행되도록 관리한다.
  • 비유: 컴퓨터의 하드웨어를 제어한다는 점에서 사람의 '심장', 자동차의 '엔진'과 같다.
  • 중요성: 어떤 커널을 사용하는지에 따라 프로그램의 하드웨어 이용 양상과 컴퓨터 전체의 성능이 달라진다.

참고: 커널에 포함되지 않는 것
사용자가 접하는 사용자 인터페이스(UI)는 운영체제의 일부이지만, 커널에는 포함되지 않는다.

  • GUI (Graphic User Interface): 바탕화면, 아이콘 등 그래픽 기반
  • CLI (Command Line Interface): 터미널 등 명령어 기반

3. 이중 모드와 시스템 호출

운영체제는 응용 프로그램이 하드웨어 자원(CPU, 메모리, 하드디스크 등)에 함부로 접근하지 못하도록 '문지기' 역할을 하여 자원을 보호한다. 이 보호 메커니즘이 바로 이중 모드이다.

3.1 이중 모드 (Dual Mode)

CPU가 명령어를 실행하는 모드를 사용자 모드커널 모드로 구분하여 관리하는 방식이다.

구분사용자 모드 (User Mode)커널 모드 (Kernel Mode)
정의운영체제 서비스를 제공받을 수 없는 실행 모드운영체제 서비스를 제공받을 수 있는 실행 모드
대상일반적인 응용 프로그램 (웹 브라우저, 게임 등)운영체제 (커널)
권한• 커널 영역 코드 실행 불가
• 하드웨어 자원 접근 명령어(입출력 등) 실행 불가
• 커널 영역의 모든 코드 실행 가능
• 모든 하드웨어 자원에 접근 가능

3.2 시스템 호출 (System Call)

사용자 모드로 실행되는 프로그램이 하드웨어 자원 접근 등 운영체제의 기능이 필요할 때, 운영체제에게 커널 모드로 전환을 요청하는 것이다.

  • 작동 원리: 일종의 소프트웨어적인 인터럽트(Software Interrupt)로 처리된다.
  • 과정: 응용 프로그램이 시스템 호출 발생 → 커널 모드로 전환 → 커널의 코드 실행(작업 수행) → 다시 사용자 모드로 복귀

4. 운영체제의 핵심 서비스

커널은 시스템 호출을 통해 다음과 같은 핵심 기능을 제공한다.

  1. 프로세스 관리: 실행 중인 프로그램(프로세스)의 생성, 실행, 종료를 관리하고 CPU 스케줄링을 담당한다.
  2. 자원 접근 및 할당: CPU, 메모리, 입출력 장치 등 한정된 하드웨어 자원을 효율적이고 공정하게 배분한다.
  3. 파일 시스템 관리: 하드디스크 등의 저장 장치에 데이터를 파일과 디렉터리 형태로 저장하고 관리한다.
profile
기록해야 (살아)남는다 !

0개의 댓글