맨체스터 연구실의 야간 근무자는 Baby 시험기 앞에서 “부트스트랩 몇 줄만 올리면 알아서 돌아갈까요?”라고 중얼거렸고, 디트로이트 GM 밤조는 “테이프만 갈다 보면 해
뜨겠다”며 모니터 프로그램을 꿈꿨습니다. NASA와 대학 연구실은 한 대의 기계를 여러 사람이 나눠 쓰는 타임셰어링을 시험하며 “순서를 공평하게 돌릴 방법”을 찾고
있었습니다.
이후 IBM은 System/360을 내놓으며 “기종이 달라도 같은 OS를 쓰게 해 드립니다”라고 약속했고, 벨 연구소 연구원들은 UNIX를 만들며 “작은 도구를 이어 붙이면
복잡한 일도 풀립니다”라고 설득했습니다. MS-DOS와 Macintosh, Windows 95는 집과 사무실을 같은 UI로 엮었고, 리눅스 커뮤니티는 “커널은 같이 고치는
것”이라는 문화를 세웠습니다. 2000년대 이후 Mac OS X, iPhone OS, Android, Docker, Kubernetes는 손안과 클라우드에서 같은 경험을
요구하며 운영체제의 영역을 계속 넓혔습니다.
아래 연표를 누르면 그 시절 운영체제가 무엇을 걱정했고 어떤 해법을 내놓았는지 이야기로 살펴볼 수 있습니다. 낯선 용어가 나와도 괜찮아요. 각 모달이 사람과 상황, 남은
교훈을 차근차근 풀어 줍니다.
버튼을 선택하면 같은 화면에서 자세한 이야기를 읽을 수
있습니다.
1940s
저장 프로그램 시대를 여는 첫 부트스트랩
릴레이 배선 대신 짧은 초기 명령을 메모리에 실어 올려, 전자식 컴퓨터가 스스로 프로그램을 불러오고 반복
실행할 수 있는 기반을 만들었습니다.
1950s
야간 조를 도운 배치 모니터
메인프레임 운영자들은 테이프를 갈아 끼우지 않아도 되도록 작업을 자동으로 줄 세우고, 공통 절차를 모니터
프로그램에 담았습니다.
1960s
타임셰어링과 이식성 실험
System/360은 “하드웨어가 달라도 같은 OS”를 약속했고, UNIX는 작은 도구를 조합하며 이식성이
있는 커널을 선보였습니다.
1970s
마이크로컴퓨터와 가상 메모리 확장
작은 컴퓨터도 디스크와 여러 작업을 다룰 수 있게 CP/M과 VMS가 공통 인터페이스와 가상 메모리를
보급했습니다.
1980s
PC 보급과 그래픽 데스크톱
MS-DOS가 공통 규칙을 세우고, 매킨토시가 아이콘과 마우스를 대중화하며 PC가 일상 도구가 되었습니다.
1990s
오픈소스와 일상형 OS
리눅스 커뮤니티가 커널을 함께 고쳤고, Windows 95는 스타트 버튼으로 가정과 사무실 모두를
겨냥했습니다.
2000s
UNIX 감성과 모바일 도약
Mac OS X는 UNIX와 디자인을 묶었고, iPhone OS와 Android는 터치와 앱 생태계를 운영체제
수준에서 설계했습니다.
2010s
컨테이너와 클러스터 운영
Docker와 Kubernetes가 “이미지를 묶어 옮기고, 원하는 상태를 선언하면 제어 루프가 맞춰 준다”는
발상을 일상 도구로 만들었습니다.
2020s
실리콘 전환과 하이브리드 경험
맞춤형 칩, 가상 데스크톱, 클라우드 PC를 한 화면에서 조율하며 “어디에서 실행돼도 같은 느낌”을 주려는
운영체제가 등장했습니다.
더 깊이 읽을 거리
운영체제가 배치 작업, 타임셰어링, 모바일과 클라우드를 품어 가는 과정을 기록한 1차 자료와 회고를 모았습니다.
맨체스터 연구진은 “초기 명령 몇 줄이면 충분하다”는 믿음을 Baby 실험으로 증명했습니다.
1948년 6월 21일 새벽, 프레더릭 윌리엄스와 톰 킬번은 Williams-Kilburn 관 앞에서 토글 스위치를 하나씩 내리며 “이제 부트스트랩을 올려 볼까요?”라고
속삭였습니다. 길지 않은 초기 명령이 메모리에 올라가자 Baby는 스스로 다음 코드 조각을 불러오기 시작했습니다.
기계가 가장 큰 약수를 계산하는 동안 연구 어시스턴트는 노트에 “기계가 자기 프로그램을 읽어 들인 첫날”이라고 적었습니다. 전선을 갈아끼우던 시대가 끝났다는 사실을 모두가
체감한 순간이었습니다.
Baby는 단순한 데모였지만, 전자식 컴퓨터가 "데이터와 명령을 같은 저장장치에 둔다"는 폰 노이만 구조를 실전에서 증명했습니다. 연구자들은 이제 새로운 알고리즘을 배선 대신
소프트웨어로 교체할 수 있다는 확신을 얻었습니다.
Baby가 보여 준 짧은 초기 로더 → 본 프로그램 순서는 훗날 모든 컴퓨터가 따르는 초기 프로그램 적재(IPL) 관행으로 굳었고, 운영체제는 그 습관 위에서 성장했습니다.
1949
EDSAC Initial Orders, 표준 부트스트랩과 루틴을 묶다
케임브리지 팀은 31줄짜리 Initial Orders로 “테이프만 넣으면 됩니다”라는 약속을 지켰습니다.
케임브리지 EDSAC 실험실에서 운영자는 전원을 켠 뒤 스위치를 차례대로 내리고 “Initial Orders, 준비 완료”라고 외쳤습니다. 연구자가 종이테이프 뭉치를 건네면
기계는 곧바로 프로그램을 메모리에 복사했습니다.
제곱근, 로그 같은 서브루틴이 담긴 라이브러리 테이프를 꺼낼 때면 모두가 한숨 돌렸습니다. 필요한 계산을 골라 넣기만 하면 결과가 나왔고, 실행 순서와 출력 형식은 항상
일정했습니다.
Initial Orders와 라이브러리 조합은 “작은 모니터 → 로더 → 공용 루틴”이라는 흐름을 정착시켜 이후 모니터 프로그램과 운영체제의 기본 구조가 되었습니다.
1956
GM-NAA I/O, 배치 작업을 자동으로 넘기다
GM과 NAA 야간조는 GM-NAA I/O 덕에 “테이프만 갈다 날 새네”라는 하소연을 접을 수 있었습니다.
디트로이트 연구소의 야간조 운영자는 카드 덱을 의자에 쌓아 두고 “이번에는 모니터가 알아서 넘겨줄까?”라며 GM-NAA I/O를 로드했습니다. 작업이 끝날 때마다 모니터가
테이프를 갈아 끼우고 다음 덱을 불러오자 밤새 토글을 누를 일이 줄었습니다.
공장과 연구소에서 보내 온 작업 카드에는 “프린터 A에 출력” 같은 지시가 적혀 있었고, 모니터는 그 순서를 그대로 실행했습니다. 운영자는 오류 카드만 모아두면 됐고, 계산은
끊김 없이 이어졌습니다.
GM-NAA I/O가 남긴 작업 제어 카드와 자동 장치 초기화 개념은 이후 배치 운영체제와 오늘날 배치 스케줄러 설계의 출발점이 되었습니다.
1959
Fortran Monitor System, 코드 재사용을 지원하다
FMS는 “컴파일부터 출력까지 한 번에 돌려 드려요”라며 공유 매크로를 키트처럼 묶었습니다.
SHARE 회원들은 서로 주고받던 매크로 카드 묶음을 IBM 본사 회의실 책상 위에 올려놓고 “한 패키지로 묶어 주세요”라고 부탁했습니다. 그렇게 만들어진 FMS는 카드
앞부분에 제어문을 붙이면 컴파일, 링크, 실행, 출력까지 자동으로 이어주었습니다.
야간조 운영자는 “이번엔 과학 계산 묶음이네”라며 제어문을 확인하고 모니터를 시작하기만 하면 됐습니다. 자주 쓰는 라이브러리는 공용 테이프에 등록되어 어느 팀이든 동일한
결과를 받을 수 있었습니다.
FMS가 보여 준 장치 독립 입출력 개념은 OS/360의 JCL과 오늘날 드라이버 계층 설계로 이어졌습니다.
1964
System/360, 하나의 OS로 가족 제품을 지원하다
System/360은 “기계를 바꿔도 다시 코딩하지 마세요”라는 약속으로 호환성의 무게를 보여 줬습니다.
OS/360 브리핑에서 IBM 영업 담당자는 고객에게 “기종 번호가 달라도 같은 API를 보장합니다”라고 장담했습니다. 개발팀은 커널과 I/O 제어, 장치 드라이버를 층처럼
나눠 어디서든 같은 호출 규칙을 제공했습니다.
초기 도입 기업은 예산 회의에서 “올해는 40번대, 내년엔 60번대로 올리자”라며 유지보수 계획을 세웠습니다. 프로그램을 다시 작성할 필요가 없다는 사실이 구매 결정을
바꿨습니다.
OS/360이 세운 안정적 시스템 호출 계약은 이후 메인프레임뿐 아니라 POSIX, 클라우드 인스턴스 호환 전략의 뿌리가 되었습니다.
1969
UNIX, 작은 도구를 조합하는 철학을 심다
UNIX는 “작은 도구를 이어 붙이면 된다”는 철학으로 파일처럼 다루는 세상을 열었습니다.
벨 연구소 지하실에서 켄 톰프슨과 데니스 리치는 터미널 옆 커피잔을 옮기며 “모든 것을 파일처럼 다룹시다”라고 의견을 모았습니다. 파이프가 연결되자 간단한 명령 두세
개만으로도 긴 작업을 처리할 수 있게 되었습니다.
코드가 대학으로 퍼지자 학생들은 “우린 PDP-11이라 조금 다르지만, C로 고치면 되겠지?”라며 직접 포팅을 시도했습니다. 서로가 보낸 패치가 커널을 빠르게 진화시켰고,
작은 도구를 조합하는 습관이 문화로 굳었습니다.
“모든 것은 파일”과 작은 명령의 조합이라는 원칙은 오늘날 쉘, POSIX, 컨테이너 이미지까지 이어지는 운영체제 사고방식의 기본값이 되었습니다.
1974
CP/M, 마이크로컴퓨터용 표준 OS
CP/M은 “BIOS만 맞추면 앱이 돌아요”라며 마이크로컴퓨터에 공동 언어를 줬습니다.
게리 킬달은 제조사 대표들과 만나 “여러분 기계마다 디스크 호출이 다르잖아요. 이 밑단만 맞춰 주세요.”라고 설득했습니다. CP/M은 공통 부분인 BDOS와 기기별 BIOS를
분리해 누구나 자신의 하드웨어를 빠르게 붙일 수 있게 했습니다.
워드스타를 들고 방문한 영업사원은 “이 플로피만 꽂으면 됩니다”라며 여러 회사 사무실을 돌았습니다. 같은 소프트웨어가 서로 다른 기기에서 같은 화면을 보여 주자 기업은 자신
있게 주문서를 썼습니다.
BDOS/BIOS 분리 구조는 이후 PC BIOS, HAL, 현대 운영체제의 드라이버 계층에 그대로 살아남았습니다.
1978
VAX/VMS, 가상 메모리와 클러스터를 대중화
VAX/VMS는 “중형 컴퓨터도 24시간 버틸 수 있다”는 자신감을 주며 가상 메모리와 클러스터를 확산시켰습니다.
DEC 엔지니어는 시연장에서 VAX 콘솔을 가리키며 “지금 이 프로그램은 실제 메모리보다 더 큰 데이터를 쓰고 있습니다”라고 설명했습니다. VMS는 페이지를 디스크로 넘겨
프로그램이 물리 메모리 한계를 의식하지 않게 했습니다.
야간 병원 전산실에서는 VMScluster를 테스트하며 “한 대가 내려가면 다른 장비가 이어받습니다”라는 알림음을 들었습니다. 운영팀은 메인프레임 없이도 24시간 서비스를
유지할 수 있다는 사실에 안도했습니다.
VMS의 보호 링, 레코드 관리, 클러스터 API는 이후 Windows NT와 하이퍼바이저 설계의 교과서가 되었습니다.
1981
MS-DOS, IBM PC 생태계를 단단히 묶다
MS-DOS는 “명령은 같고 부품만 바뀝니다”라며 IBM PC 호환 생태계를 묶었습니다.
마이크로소프트는 IBM과의 회의에서 “표준 BIOS 호출을 문서로 박아 두면 제조사들이 따라올 겁니다”라고 제안했습니다. 곧 OEM들은 자신만의 하드웨어를 달면서도
MS-DOS 명령과 API를 그대로 유지했습니다.
사용자는 DIR과 COPY만 익히면 어떤 호환 기종에서도 같은 방식으로 파일을 관리할 수 있었습니다. 회사와 가정 모두
“DOS면 된다”는 인식을 공유하기 시작했습니다.
MS-DOS가 남긴 BIOS 인터럽트 규칙과 .EXE 포맷은 이후 Windows 전환기의 하위호환 전략을 지탱했습니다.
1984
맥킨토시 System 1, 그래픽 UI 대중화
맥킨토시 System 1은 “아이콘을 옮기면 돼요”라는 말로 그래픽 인터페이스를 일상어로 만들었습니다.
1984년 데모장에서 애플 직원은 쓰레기통 아이콘을 가리키며 “필요 없으면 여기로 드래그하세요”라고 안내했습니다. 참가자들은 마우스를 처음 잡았지만 금세 폴더를 열고 메뉴를
눌렀습니다.
애플이 배포한 휴먼 인터페이스 가이드라인 덕분에 외부 개발자도 같은 메뉴, 같은 알림창을 사용했습니다. 사용자는 낯선 프로그램을 켜도 길 잃을 걱정이 줄었습니다.
System 1의 이벤트 루프, QuickDraw, 리소스 매니저 구조는 이후 데스크톱 UI 프레임워크 설계의 기본 문법이 되었습니다.
1991
리눅스, 누구나 커널에 기여하는 시대
리눅스는 “취미로 시작했는데 같이 해요?”라는 글 하나로 커널 개발을 공동 작업으로 바꿨습니다.
리누스 토르발스는 컴퓨터 게시판에 “386용 커널을 취미로 만들고 있는데, 아이디어 있나요?”라는 글을 올렸습니다. 며칠 만에 디스크 드라이버, 스케줄러 패치, 파일시스템
제안이 메일함으로 쏟아졌습니다.
자유롭게 배포된 소스코드는 누구나 읽고 고친 뒤 다시 공유할 수 있었습니다. 대학 서버실, 통신사, 취미 동호회가 같은 커널을 함께 다듬으며 전 세계가 한 팀처럼
움직였습니다.
GPL 라이선스와 메일링 리스트 리뷰 문화는 오늘날까지 이어지는 오픈소스 운영체제 개발 방식의 골격을 만들었습니다.
1995
Windows 95, 시작 버튼으로 생활을 묶다
Windows 95는 “시작 버튼만 누르면 됩니다”라는 안내로 집과 사무실을 같은 OS로 엮었습니다.
Windows 95 발표회에서 스티브 발머는 초록색 시작 버튼을 눌러 보이며 “여기만 누르면 필요한 게 다 나옵니다”라고 웃었습니다. 플러그앤플레이가 새 하드웨어를 찾아
드라이버를 깔아 주자 사용자들은 겁낼 일이 줄었습니다.
회사에서는 네트워크 드라이브를 열고, 집에서는 사진 정리와 게임을 같은 화면에서 즐겼습니다. 하나의 데스크톱 언어가 업무와 생활을 모두 연결한 순간이었습니다.
시작 메뉴, 작업 표시줄, Win32 API는 이후 Windows NT 계열과 현대 데스크톱 UX의 기본 패턴으로 남았습니다.
2001
Mac OS X, UNIX 안정성과 디자인 결합
Mac OS X는 “UNIX 뼈대에 디자인을 더했습니다”라며 안정성과 감성을 동시에 붙잡았습니다.
WWDC 무대에서 애플은 반짝이는 Aqua 창을 띄우면서도 터미널을 열어 ls를 실행해 보였습니다. 디자이너와 개발자가 같은 OS에서 각자 원하는
장점을 확인한 순간이었습니다.
Carbon과 Cocoa가 함께 제공되면서 기존 Mac 앱은 천천히 이전하고 새 앱은 현대적인 API를 채택했습니다. 사용자는 시스템이 멈추지 않는다는 사실에 안심했고,
개발자는 POSIX 도구를 마음껏 활용했습니다.
Mac OS X는 “GUI 위의 UNIX” 모델을 대중화해 이후 iOS, watchOS까지 이어지는 애플 운영체제 가족의 공통 기반이 되었습니다.
2007
iPhone OS 1, 터치 퍼스트 인터페이스
iPhone OS 1은 “손가락만으로 다 할 수 있어요”라는 약속으로 터치 퍼스트 시대를 열었습니다.
스티브 잡스는 무대에서 “스타일러스 필요 없습니다. 우리가 이미 10개나 갖고 있죠.”라며 손가락을 펼쳐 보였습니다. 홈 화면 아이콘과 멀티터치 제스처는 자연스러운 사용법을
스스로 설명했습니다.
소프트 키보드가 문장을 자동 완성하고, 스와이프가 화면을 넘겼습니다. 당시 스마트폰을 쓰던 사람들은 “버튼 없이도 되네?”라며 새로운 입력 방식을 금세 받아들였습니다.
멀티터치 UI와 샌드박스 구조는 모바일 OS 보안과 UX의 기본 공식을 만들었고, 이후 App Store 생태계가 자라날 발판이 되었습니다.
2008
Android 1.0, 오픈 모바일 플랫폼
Android 1.0은 “누구나 같은 SDK로 폰을 만들 수 있다”며 오픈 플랫폼을 현실로 만들었습니다.
구글은 오픈 핸드셋 얼라이언스 회의에서 “이 SDK와 API 문서만 따르면 누구나 Android 폰을 출시할 수 있습니다”라고 선언했습니다. 제조사와 통신사는 각자 원하는
스킨을 얹으면서도 공통 프레임워크를 공유했습니다.
초기 개발자는 Dalvik VM 위에서 돌아가는 앱을 마켓에 올려 시험했습니다. 알 수 없는 출처 설치 옵션은 실험가들에게 열린 놀이터를 제공했습니다.
Android가 도입한 인텐트, APK 패키징, 권한 모델은 다양한 제조사와 서비스가 공존하는 모바일 생태계의 표준을 세웠습니다.
2013
Docker, 컨테이너를 일상 도구로
Docker는 “이미지 한 통으로 환경을 옮기세요”라는 구호로 컨테이너를 일상 도구로 바꿨습니다.
dotCloud 시연에서 개발자는 docker run 명령을 입력하며 “이제 배포 체크리스트 대신 이미지를 공유하세요”라고 설명했습니다. 코드와
라이브러리가 하나의 패키지로 묶이자 “내 컴퓨터에서는 되는데”라는 말이 줄었습니다.
운영팀은 테스트에서 성공한 이미지를 그대로 프로덕션에 띄웠고, 클라우드 업체는 곧 관리형 컨테이너 서비스를 내놓았습니다. 운영체제는 격리와 실행에 집중하고, 환경은 이미지가
책임지는 시대가 열렸습니다.
레이어드 이미지, 레지스트리, Compose 워크플로는 DevOps 문화와 플랫폼 엔지니어링 도구의 핵심 구성 요소로 자리잡았습니다.
2015
Kubernetes 1.0, 선언형 클러스터 운영
Kubernetes 1.0은 “원하는 상태만 적어 주세요”라며 클러스터 운영을 선언형으로 바꿨습니다.
구글·레드햇·CoreOS는 CNCF 행사에서 “이 YAML만 적으면 제어 루프가 나머지를 맞춥니다”라고 시연했습니다. ReplicaSet과 서비스가 스스로 상태를 조정하자
운영자는 서버 한 대 한 대를 돌보지 않아도 됐습니다.
기업은 쿠버네티스를 클러스터 공용 언어로 받아들였고, 클라우드 제공자는 관리형 서비스를 앞다퉈 출시했습니다. 운영체제의 역할이 단일 노드를 넘어서 플릿 전체를 조율하는 일로
확장되었습니다.
선언형 상태와 재조정 루프라는 개념은 오늘날 인프라스트럭처 코드와 서비스 메시 등 클라우드 네이티브 스택 전반에 스며들었습니다.
2020
macOS Big Sur, Apple Silicon 전환의 교두보
macOS Big Sur는 “칩이 바뀌어도 앱은 그대로”라는 전환 매뉴얼로 Apple Silicon 시대를 열었습니다.
애플은 온라인 이벤트에서 M1 맥북을 열어 기존 인텔용 앱을 실행하며 “Rosetta 2가 실시간으로 번역합니다”라고 설명했습니다. 사용자는 업데이트 없이도 익숙한 도구를
계속 쓸 수 있었습니다.
Xcode는 유니버설 바이너리를 기본으로 지원해 개발자가 한 번 빌드로 두 아키텍처를 동시에 준비했습니다. 배터리 수명과 즉시 깨우기 경험은 하드웨어와 OS를 동시에 설계할
때 얻는 장점을 보여 줬습니다.
리소스티어 보안, 유니버설 바이너리, 실시간 번역 조합은 대규모 아키텍처 전환 전략의 교본이 되었고 다른 플랫폼 설계에도 영감을 주었습니다.