《Operating System Concepts 10판》
1.1 What Operating Systems Do
- 운영체제의 위치: 사용자 ↔ 하드웨어 사이의 중개자
- 구성 요소 4가지: 하드웨어 / OS / 응용프로그램 / 사용자
- OS는 정부(Government)처럼 직접 문제를 풀지 않지만, 질서를 만든다
1.1.1 사용자 관점 (User View)
- 데스크탑 사용자는 UI가 중요
- 시스템 프로그래머나 커널 개발자는 효율성과 자원 제어가 중점
1.1.2 시스템 관점 (System View)
- OS는 리소스 관리자(Resource Allocator)
- CPU, 메모리, I/O 장치 등 경쟁 자원을 효율적/공정하게 분배
- OS는 제어 프로그램(Control Program) → 사용자 프로세스를 관리하고 오류를 방지
1.1.3 OS 정의
- 단일 정의 불가능. 그 자체가 시스템 구조의 결정체
- 역사적으로 컴퓨터 사용 목적의 진화(군사→산업→범용)와 함께 변화
1.2 Computer-System Organization
- 구성요소: CPU, 메모리, I/O, 스토리지
- 인터럽트(Interrupt) 기반으로 비동기 이벤트 처리
- DMA(Direct Memory Access): I/O 장치가 메모리와 직접 통신
1.3 Computer-System Architecture
- 단일 프로세서 vs 멀티프로세서 (Multicore, NUMA, Cluster)
- 현대 OS는 병렬처리 및 분산 환경 고려 필수
1.4 Operating-System Operations
- 멀티프로그래밍 → CPU idle 방지
- 멀티태스킹 → 사용자의 즉각적 응답성 강화
- 듀얼 모드 (user ↔ kernel): 시스템 보호 기초
1.5 Resource Management
- OS의 핵심 임무: 프로세스, 메모리, 파일시스템, I/O, 캐시 등 자원 관리
- 예: 파일 삭제/생성, 메모리 할당/해제, CPU 스케줄링 등Abraham-Silberschatz-Op…
1.6 Security and Protection
- 보호: 자원 접근 제어 (권한)
- 보안: 무단 접근 방지 (암호화, 인증)
1.7 Virtualization
- 추상화 레벨 상승: 하나의 물리 시스템에 여러 논리 시스템 구현
1.8 Distributed Systems
- 네트워크를 통해 분산된 자원/컴퓨팅 공유
1.9 Kernel Data Structures
- OS가 내부에서 사용하는 기본 자료구조들 (리스트, 큐, 맵, 비트맵 등)
1.10 Computing Environments
- 전통, 모바일, 클라이언트-서버, P2P, 클라우드, 임베디드 시스템 등 OS 활용 환경 분류
1.11 Free and Open-Source OS
- GNU/Linux, BSD, Solaris 등 오픈소스 생태계 개요