History by bottleneck

OS 기능 발전 기준

CPU 시간, 터미널 응답성, 메모리 보호, 배포 속도처럼 병목이 바뀔 때 운영체제의 추상화도 함께 바뀌었다.

Batch

CPU 유휴 시간

작업 전환을 사람 손에서 모니터 프로그램과 스풀링으로 옮겨 값비싼 CPU가 기다리는 시간을 줄였다.

Multiprogramming

입출력 대기

한 작업이 디스크를 기다릴 때 다른 작업을 실행하려고 메모리 보호, 인터럽트, 스케줄링이 중요해졌다.

Time sharing

대화형 응답

여러 사용자가 터미널을 공유하면서 짧은 타임 슬라이스와 빠른 문맥 전환이 사용자 경험을 좌우했다.

Cloud

배포와 격리

VM, 컨테이너, 오케스트레이션은 서버 단위 운영을 이미지와 선언적 상태 관리로 끌어올렸다.