problem to concept

OS 역사는 문제를 줄이는 추상화가 쌓인 과정이다

CPU 유휴, I/O 대기, 느린 응답, 보안, 배포 속도 같은 문제가 등장할 때마다 운영체제는 더 강한 자원 관리와 격리 기법을 추가했다.

효율

비싼 CPU를 놀리지 않기

배치 시스템과 멀티프로그래밍은 사람이 기다리는 시간과 I/O 대기 시간을 줄이기 위해 등장했다.

응답

여러 사용자가 즉시 반응받기

시분할은 CPU 시간을 잘게 나누어 각 사용자가 자기 컴퓨터처럼 느끼게 만드는 정책이다.

격리

앱과 서버를 안전하게 나누기

모바일 샌드박스, 가상 머신, 컨테이너는 같은 하드웨어 위에서 서로를 보호하며 실행한다.

1940s직접 실행
1950s배치 자동화
1960s동시 적재
1970s타임 슬라이스
2000s앱 샌드박스
2010s컨테이너
학습 메모

이후 커널, 시스템 콜, 프로세스, 메모리, 파일 시스템을 볼 때도 같은 질문을 던지면 좋다. 이 기능은 어떤 자원을 안전하고 효율적으로 나누기 위해 생겼는가?