운영체제(Operating System, OS)는 **사용자(User)**와 하드웨어(Hardware) 사이의 중개자(Intermediary) 역할을 수행함.
즉, 하드웨어 자원을 효율적으로 관리하고, 사용자 및 응용 프로그램이 시스템을 편리하게 사용할 수 있도록 지원함
사용자가 시스템을 편리하게 사용할 수 있도록 하는 Interface 제공
개인용 컴퓨터(PC) 사용자는 사용의 용이성(ease of use) 을 가장 중요하게 생각함
→ 성능, 자원 활용 효율보다는 편의성이 우선
예: Windows, macOS, Android와 같은 GUI 중심 OS
OS는 시스템을 구성하는 자원(Resource) 들을 관리하고, 프로그램 실행 환경을 제공함.
| 자원(Resource) | 관리 기능(Resource Management) |
|---|---|
| CPU | 프로세스 스케줄링(Process Scheduling) 및 CPU 할당 |
| 메모리(Main Memory) | 메모리 공간의 할당 및 회수, 가상 메모리 관리 |
| 파일 시스템(Storage) | 파일 생성, 삭제, 접근 권한 관리 |
| 입출력 장치(I/O Devices) | 입출력 요청 처리 및 장치 드라이버 제어 |
| 네트워크(Network) | 프로세스 간 통신(IPC), 네트워크 자원 공유 관리 |
운영체제는 크게 편의성, 효율성, 확장성의 세 가지 목표를 가짐.