History as abstraction

OS 발전 관점

배치 시스템에서 클라우드까지, 각 시대의 변화는 사람이 직접 관리하던 일을 운영체제와 플랫폼 계층이 대신 맡는 방향으로 발전했습니다.

1940~50

직접 조작

프로그램 실행, 입출력, 장치 제어를 사람이 직접 준비했습니다.

낮은 추상화
1960~70

작업과 시간 공유

배치, 멀티프로그래밍, 시분할이 CPU 유휴와 응답 지연을 줄였습니다.

자원 관리
1980~2000

개인용과 모바일

GUI, 앱 격리, 전력 관리가 사용성과 보안을 중요한 기준으로 만들었습니다.

사용자 경험
2010~

클라우드 계층

VM, 컨테이너, 서버리스가 배포 단위와 운영 책임을 다시 추상화했습니다.

운영 자동화

현재 클라우드 계층의 관점

Serverless 서버 관리 대신 함수 실행 단위에 집중합니다.
Container 하나의 커널 위에서 프로세스와 파일 시스템을 격리합니다.
Virtual machine 물리 서버 위에 독립된 OS 환경을 여러 개 올립니다.
Kernel 프로세스, 메모리, 네트워크, 파일 접근을 실제로 조율합니다.

역사를 볼 때 연결할 질문

  • 그 시대에는 어떤 자원이 가장 아까웠는가?
  • 사용자는 무엇을 직접 관리하지 않게 되었는가?
  • 새 추상화가 편리함 대신 어떤 제어권을 줄였는가?
  • 장애가 났을 때 어느 계층까지 내려가야 원인을 볼 수 있는가?

핵심 연결: 추상화가 높아질수록 배포와 운영은 쉬워지지만, 성능 문제와 격리 문제를 추적할 때는 결국 커널의 기본 개념으로 돌아오게 됩니다.