운영체제 구성

김연준·2025년 4월 6일
post-thumbnail

💡운영체제의 핵심 개념

운영체제는 사용자를 위한 프로그램이 아니라, 사용자가 실행하는 프로그램을 위한 프로그램이다.
즉, 응용 프로그램이 안전하고 효율적으로 실행되도록 시스템 자원을 관리하고 제어하는 핵심적인 소프트웨어다.


운영체제의 구성 요소 🧩

✅ 커널 (Kernel)

운영체제의 핵심 서비스를 담당하는 부분으로, 다음과 같은 역할을 수행한다:

  • 하드웨어 자원 접근 및 조작
  • 프로그램이 올바르고 안전하게 실행되도록 제어
  • 프로세스, 메모리, 입출력 등의 핵심 기능 관리

커널은 메모리 상에서 커널 모드로만 접근 가능한 보호된 영역이다.


✅ 사용자 인터페이스 (User Interface)

운영체제와 사용자가 상호작용할 수 있는 통로이다. 커널에 포함된 기능은 아니다.

  • GUI (Graphic User Interface): 그래픽 요소를 통해 상호작용 (예: 윈도우, 아이콘)
  • CLI (Command Line Interface): 명령어 기반 상호작용 (예: 터미널, 쉘)

이중 모드 (Dual Mode) 🖥️

CPU는 명령어를 실행할 때 두 가지 모드 중 하나로 동작한다.

👤 사용자 모드 (User Mode)

  • 일반적인 응용 프로그램이 실행되는 영역
  • 커널 영역 접근 불가, 하드웨어 직접 조작 불가

🛡️ 커널 모드 (Kernel Mode)

  • 커널 코드를 실행할 수 있는 운영체제 전용 모드
  • 모든 명령어와 하드웨어 자원 접근 가능

🔁 시스템 호출 (System Call)

사용자 모드에서 운영체제의 기능이 필요할 때, 커널 모드로 전환하기 위한 요청

  • 일종의 인터럽트로 동작
  • CPU는 현재 작업을 백업하고 커널로 진입 → 작업 수행 → 원래 작업으로 복귀

📂 시스템 호출의 예시

  • 프로세스 생성/종료
  • 파일 생성/열기/저장
  • 디렉터리 관리
  • 디스크 및 장치 접근

운영체제의 핵심 서비스 🔧

📌 프로세스 관리

  • 프로세스: 실행 중인 프로그램
  • CPU는 한 번에 하나의 프로세스만 실행 → CPU 스케줄링 필요

📌 메모리 관리

  • 실행 중인 프로세스를 메모리에 적절히 할당/해제

📌 입출력 관리

  • 장치의 인터럽트 요청을 처리하여 입출력 수행

📌 파일 시스템 관리

  • 파일 생성/저장/삭제/탐색 등

핵심 정리 🧠

  • 운영체제의 핵심 기능은 커널이 담당
  • 사용자 프로세스가 운영체제 서비스를 사용하려면 → 시스템 콜을 통해 커널 모드로 전환
  • 커널은 CPU, 메모리, 입출력 장치, 파일 시스템 등을 관리하는 중심 요소

더 알아보기: 가상 머신과 하이퍼바이저 모드 🧱

🧪 가상 머신(Virtual Machine)

  • 소프트웨어로 구현한 가상의 컴퓨터
  • 하나의 컴퓨터에 여러 운영체제와 프로그램 설치 가능
  • 가상 머신 자체는 응용 프로그램으로 취급됨

🔐 하이퍼바이저 모드 (Hypervisor Mode)

  • 가상 머신이 커널 모드로 직접 접근하기 어려운 문제를 해결하기 위해 생긴 새로운 CPU 모드
  • 하드웨어 가상화를 지원하는 CPU는 커널 모드 외에 하이퍼바이저 전용 모드를 제공

📘 운영체제를 이해하는 것은 시스템을 제어하고 최적화할 수 있는 첫걸음이다.

profile
Live a life you will remember

0개의 댓글