티스토리 뷰
1️⃣ 운영체제 개요 (Introduction to Operating Systems)
✅ 운영체제란?
운영체제(OS)는 컴퓨터 하드웨어와 사용자 프로그램 사이에 위치하는 시스템 소프트웨어입니다. **자원 관리(Resource Management)**와 인터페이스 제공이 주된 역할이에요.
✅ 주요 기능
- 프로세스/스레드 관리
- CPU 스케줄링, 동기화, 교착상태 방지 등
- 메모리 관리
- 메모리 할당, 가상 메모리, 캐싱 등
- 저장장치 관리
- 파일 시스템, 디스크 스케줄링 등
- 입출력(I/O) 관리
- 장치 드라이버, 버퍼링 등
- 보호 및 보안
- 사용자 권한, 데이터 보호
- 사용자 인터페이스 제공
- 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
최근에 올라온 글