🧵 운영체제 — 강의 교재 인덱스

Operating System Concepts, 10th Edition (Silberschatz · Galvin · Gagne, Wiley 2018) 기반. 학부 고학년~대학원 수준의 정독용 교재로, 원문 각 절을 모두 커버하되 내부 구현·현대 맥락·구현 코드까지 확장했습니다. 각 페이지에서 📘 OSC N.x(교재 원문)와 ⊕ 교재 외 확장 배지로 출처를 구분합니다.

챕터 (동시성·스케줄링 묶음)

  1. 4장 · 스레드와 동시성 (Threads & Concurrency) — 스레드 해부·문맥 교환 · 동시성/병렬성·Amdahl/Gustafson · 멀티스레딩 모델 · Pthreads/Windows/Java/C++ · 스레드 풀·work-stealing·OpenMP/GCD · 메모리 모델·가시성·재배열 · fork/시그널/취소/TLS · Linux·Windows 내부 · goroutine·virtual thread·async
  2. 5장 · CPU 스케줄링 (CPU Scheduling) — CPU–I/O 버스트·디스패처 · 스케줄링 기준 · FCFS·SJF·SRTF·RR·우선순위·MLQ/MLFQ(간트차트+계산) · 스레드 스케줄링(PCS/SCS) · 다중처리기(부하균형·친화성·NUMA) · 실시간(RMS·EDF) · Linux CFS·Windows·Solaris · 알고리즘 평가
  3. 6장 · 동기화 도구 (Synchronization Tools) — 경쟁 조건 · 임계구역 3요건 · Peterson · 하드웨어 지원(메모리 배리어·CAS·atomic) · 뮤텍스·스핀락 · 세마포어 · 모니터·조건 변수 · 라이브니스(데드락·우선순위 역전/상속) · 평가
  4. 7장 · 동기화 예제 (Synchronization Examples)고전 문제(유한버퍼·readers-writers·식사하는 철학자) · 커널 내부(Windows·Linux) · POSIX 동기화 · Java 동기화 · 대안(트랜잭셔널 메모리·OpenMP·함수형) · Rust/Go 확장
  5. 8장 · 교착 상태 (Deadlocks) — 시스템 모델 · 멀티스레드 데드락·라이브락 · 4가지 필요조건·자원 할당 그래프 · 예방·회피(은행원 알고리즘 손계산)·탐지·회복
📌 읽는 법 — 📘 vs ⊕

각 챕터 본문의 절·소절 제목 옆 배지로 출처를 구분합니다. 📘 OSC N.x는 교재 4~8장 원문에 해당하는 핵심 내용이고, ⊕ 교재 외 확장은 내부 구현(CFS·futex·은행원 손계산)·현대 맥락(Go/Rust)·구현 코드 등 교재 범위를 넘어선 심화입니다. 배지 없는 소절은 교재 본문입니다.

관통 질문

이 실행 단위는 무엇을 공유하고, 누가 언제 CPU를 주며(스케줄링), 공유 자원의 경쟁을 어떻게 막고(동기화), 서로를 영원히 기다리는 교착을 어떻게 다루는가?

손으로 할 실습