학습 계획
- 매주 화, 목, 토 두 시간씩 학습
- 강의 → 교재
강의 목차
- 섹션 0. 강의개요
- 실습을 위한 개발환경 구축
- 섹션 1. Chapter 1-2. Introduction & O/S Structures
- 운영체제가 뭐길래?
- 운영체제의 개념과 구조
- 섹션 2. Chapter 3. Processes
- 프로세스의 이해
- 프로세스의 생성
- 프로세스간 통신
- 프로세스간 통신의 실제
- 섹션 3. Chapter 4. Thread & Concurrency
- 쓰레드의 이해
- 멀티쓰레딩
- 섹션 4. Chapter 5. CPU Scheduling
- CPU 스케줄링
- 스케줄링 알고리즘
- 섹션 5. Chapter 6. Synchronization Tools
- 프로세스 동기화
- 동기화 문제의 해결책
- 뮤텍스와 세마포어
- 모니터와 자바 동기화
- 섹션 6. Chapter 7. Synchronization Examples
- 동시성 제어의 고전적 문제들
- 철학자들은 왜 굶어 죽었을까
- 철학자들의 저녁식사 (Java 버전)
- 섹션 7. Chapter 8. Deadlocks
- 데드락의 이해
- 데드락과 뱅커 알고리즘
- 섹션 8. Chapter 9. Main Memory
- 주메모리의 관리
- 페이징과 스와핑
- 섹션 9. Chapter 10. Virtual Memory
- 가상 메모리와 디맨드 페이징
- 페이지 교체 알고리즘
- 섹션 10. Chapter 11-15. Storage Management
- 스토리지와 입출력
- 섹션 11. Chapter 16-17. Security & Protection
- 운영체제의 보안
강의 및 교재
강의 : https://www.inflearn.com/course/운영체제-공룡책-전공강의
교재 : Operating System Concepts, 10th Edition