**운영체제(OS)**는 하드웨어와 당신의 프로그램 사이에 자리한 소프트웨어 계층이다. 머신의 자원 — CPU, 메모리, 스토리지, 디바이스 — 을 관리하고, 이를 깔끔하고 안전한 인터페이스를 통해 애플리케이션에 노출함으로써 여러 프로그램이 서로 방해하지 않고 하나의 컴퓨터를 공유할 수 있게 한다.
두 세계: kernel vs user space
text
┌─────────────────────────────────────────────────┐
│ User space │ browser editor shell ... │ ← 당신의 앱 (비특권)
├───────────────┴─────────────────────────────────┤
│ system calls (open, read, ...) │ ← 경계
├─────────────────────────────────────────────────┤
│ Kernel space │ scheduler memory mgr drivers │ ← 특권, 신뢰됨
├───────────────┴─────────────────────────────────┤
│ Hardware (CPU, RAM, disk) │
└─────────────────────────────────────────────────┘
은 특권 CPU 모드에서 하드웨어에 완전한 접근 권한을 갖고 실행되는 핵심부다. 는 평범한 애플리케이션이 실행되는 곳으로, 서로 그리고 하드웨어로부터 격리되어 있다. 앱은 하드웨어를 직접 건드릴 수 없으며, 을 통해 kernel에 요청한다.
