2.1 Operating-System Services - p.55
운영체제의 역할
- 운영체제는 프로그램이 실행되는 환경(environment) 을 제공한다.
- 내부 구조는 OS마다 다르며, 여러 설계 방식(organization) 으로 구성된다.
운영체제를 바라보는 세 가지 관점
- 서비스 관점 (Services View)
- 운영체제가 사용자와 프로그램에 어떤 기능을 제공하는가
- 인터페이스 관점 (Interface View)
- 운영체제가 사용자·프로그래머에게 제공하는 명령 및 API 형태
- 구조 관점 (Structure View)
- 운영체제가 내부적으로 어떤 구성요소와 연결관계를 가지는가
운영체제가 제공하는 서비스
운영체제는 사용자와 프로그램이 시스템을 효율적으로 사용하도록 여러 가지 서비스(services) 를 제공함.
이 서비스들은 사용자 편의성, 자원 관리, 시스템 효율성을 보장하는 핵심 기능임

사용자 중심 서비스
- 프로그램 실행 (Program execution)
- 프로그램을 메모리에 적재하고 실행함
- 프로세스 생성, 상태 관리, 종료 처리 수행
- 입출력 연산 (I/O operations)
- 사용자나 프로그램이 I/O 장치를 직접 제어하지 않고 OS를 통해 요청함
- OS는 장치 드라이버를 통해 안전하게 접근을 중개함
- 파일 시스템 조작 (File-system manipulation)
- 파일 생성, 삭제, 읽기, 쓰기, 접근 권한 제어 등
- 디렉터리 구조와 접근 제어를 함께 관리함
- 통신 (Communication)
- 프로세스 간 데이터 교환을 지원함
- 예: 공유 메모리(shared memory), 메시지 전달(message passing)
- 분산 환경에서는 네트워크 기반 통신(소켓, RPC 등)을 지원함
- 에러 검출 (Error detection)
- 하드웨어, I/O, 메모리, CPU 오류 탐지
- 오류 발생 시 로그 기록 및 복구 루틴 실행