Multics
Multics (1965~1969)
1. 요약
Multics(Multiplexed Information and Computing Service)는 1965년 MIT·벨 연구소·제너럴 일렉트릭이 공동으로 설계를 시작한 시분할 운영체제이다. 1969년 가을 MIT가 사용자에게 시분할 서비스를 제공하기 시작하면서 본격 가동되었다. 동 시기에 Bell Labs가 프로젝트에서 빠지면서, 그 잔여 인력이 모여 만든 것이 UNIX이다.
2. 등장 배경
1960년대 중반까지 메인프레임은 배치 처리가 기본이었다. 한 번에 한 작업만 처리하고, 그 사이 CPU는 I/O를 기다리며 대부분의 시간을 놀았다. MIT의 Project MAC은 이 한계를 극복하고자 여러 사용자가 동시에 한 컴퓨터를 사용하는 시분할 시스템을 목표로 삼았다. Multics는 그 야심의 결정체였고, 전용 하드웨어로 GE-645가 1967년 1월 MIT에 인도되었다.
3. 아키텍처 특징
- 단일 수준 저장소(single-level store) — 파일과 프로세스 메모리의 구분을 없애고 *세그먼트(segment)*라는 단일 추상으로 통일했다. 메모리에 매핑된 모든 데이터는 동일한 방식으로 접근된다.
- 가상 메모리 — 당시 극소수 시스템만 구현하던 가상 메모리를 본격 도입했다.
- 동적 링킹(dynamic linking) — 실행 중인 프로세스가 외부 루틴을 자신의 주소 공간에 동적으로 연결할 수 있게 했다. 항상 최신 버전의 외부 루틴을 사용 가능.
- 계층적 파일 시스템 — 트리 구조 디렉터리는 Multics가 최초로 제공했고, 이후 UNIX·DOS·Windows·macOS 모두 이를 계승했다.
- 링 보호(ring protection) — 8단계 권한 링으로 커널·시스템·사용자 영역을 분리한 다층 보안 모델.
4. 짝지어진 언어
PL/I이 주력 시스템 언어로 채택되었다. PL/I은 IBM이 FORTRAN과 COBOL을 통합하려는 야심으로 만든 고급 언어로, Multics 커널 자체가 PL/I로 작성된 첫 OS 사례였다. 그러나 PL/I 컴파일러의 복잡성과 성능 한계가 Multics의 무거움에 일조했다는 평가가 많다.
5. SE 실무 변화
Multics는 대학·산업체·정부 기관 합동 프로젝트의 초기 모델이 되었다. 1965년 MIT·Bell Labs·GE 3자 협업 구조는 이후 오픈소스 협업의 원형으로 종종 언급된다. 또한 시스템 프로그래밍 언어로 고급 언어를 사용한다는 결정은 이후 UNIX-C, NT-C++의 계보를 만들어 냈다.
6. 강의 활용
Multics는 강의 도입부에서 **"설계가 지나치게 야심차면 무거워지지만, 그 설계의 핵심 아이디어는 후속 세대 OS에 살아남는다"**는 메시지를 기록하는 사례로 적합하다. Ken Thompson과 Dennis Ritchie가 Multics의 과도함을 싫어했지만 핵심 아이디어(파일 시스템·명령행)는 가져갔다는 일화는 "설계의 본질은 단순함을 추구해도 사라지지 않는다"는 강의 명제와 정확히 맞물린다.
7. 주요 인물·사건
- Fernando Corbató (MIT) — Multics 수석 설계자. 시분할 시스템 개념의 선구자. 1990년 튜링상 수상.
- 1965 — MIT·Bell Labs·GE 합동 프로젝트 시작
- 1967.01 — GE-645 인도
- 1969 — Bell Labs 철수, MIT 시분할 서비스 개시
- 1969 후반 — Ken Thompson이 PDP-7에서 UNIX 시작 (Multics 잔여 인력)
- 2000 — 마지막 Multics 사이트(캐나다 국방부) 가동 종료
출처
- Multics - Wikipedia
- Multics History - multicians.org
- Unix and Multics - multicians.org
- 40 Years of Multics, 1969-2009 - OSnews
그룹 시리즈
→ synthesis/group-os_g1 (시대 그룹 종합 카드)