티스토리 뷰

1️⃣ 운영체제 개요 (Introduction to Operating Systems)

✅ 운영체제란?

운영체제(OS)는 컴퓨터 하드웨어와 사용자 프로그램 사이에 위치하는 시스템 소프트웨어입니다. **자원 관리(Resource Management)**와 인터페이스 제공이 주된 역할이에요.

✅ 주요 기능

  1. 프로세스/스레드 관리
    • CPU 스케줄링, 동기화, 교착상태 방지 등
  2. 메모리 관리
    • 메모리 할당, 가상 메모리, 캐싱 등
  3. 저장장치 관리
    • 파일 시스템, 디스크 스케줄링 등
  4. 입출력(I/O) 관리
    • 장치 드라이버, 버퍼링 등
  5. 보호 및 보안
    • 사용자 권한, 데이터 보호
  6. 사용자 인터페이스 제공
    • CLI (Command Line), GUI (Graphical User Interface)

✅ 운영체제의 역할

  • 자원 관리자 (Resource Manager):
    • CPU, 메모리, 디스크, I/O 장치 같은 하드웨어 자원의 효율적 관리.
  • 프로그램 실행 환경 제공:
    • 사용자 프로그램들이 하드웨어를 직접 만지지 않도록 보호하며 실행되도록 함.
  • 추상화 (Abstraction):
    • 하드웨어 자원의 복잡성을 감춤 (예: 파일 시스템이 디스크의 실제 구조를 숨김).

✅ OS의 분류

  • Batch 시스템: 작업을 모아서 일괄 처리 (초창기 컴퓨터)
  • Time Sharing: 여러 사용자가 동시에 사용하는 시스템 (멀티태스킹)
  • Real-Time OS: 즉각 반응이 필요한 시스템 (항공, 의료)
  • 멀티프로세싱 OS: 여러 CPU를 지원 (대형 서버)
  • 분산 OS: 네트워크를 통한 자원 공유 (클러스터, 클라우드)

✅ 커널 구조

  • Monolithic Kernel: 커널 내 모든 기능을 하나의 큰 블록으로 구현 (Linux)
  • Microkernel: 최소한의 핵심만 커널에 두고 나머지는 사용자 모드에서 실행 (Minix)
  • Hybrid: 두 가지의 장점을 섞음 (Windows NT)

✅ 사용자/커널 모드

  • 커널 모드: 하드웨어 직접 접근 가능 (운영체제 코드)
  • 사용자 모드: 제한된 권한 (일반 앱)

👉 OS는 시스템 콜(system call)을 통해 사용자 모드 ↔ 커널 모드 전환을 제공합니다.

 

'다시 정리하는 CS 이론 > OS' 카테고리의 다른 글

[OS] CPU 스케쥴링 (CPU Scheduling)  (0) 2025.05.03
[OS] 프로세스 관리  (0) 2025.05.03
[OS] 운영체제 커리큘럼  (1) 2025.05.03
Comments
최근에 올라온 글