TOPS-10
1. 개요
TOPS-10은 1970년에 처음 출시된 Digital Equipment Corporation (DEC)의 시분할 운영 체제이다. PDP-6 모니터 소프트웨어에서 시작하여 PDP-10 컴퓨터를 지원하도록 개발되었으며, 가상 메모리, 대칭형 멀티 프로세싱과 같은 기능을 도입했다. 1988년 7.04 버전을 마지막으로 개발이 중단되었지만, 현재는 에뮬레이터와 시스템 이미지를 통해 사용이 가능하다. TOPS-10은 다양한 명령어를 지원하며, MACRO-10 어셈블러를 비롯하여 ALGOL, BASIC, COBOL, Fortran 등 다양한 프로그래밍 언어를 지원한다. 또한 RMS, IQL, DBMS-10과 같은 유틸리티와 ADVENT, DECWAR, MUD와 같은 초기 멀티플레이어 게임이 구현되었다. MS-DOS는 TOPS-10의 영향을 받아 파일 확장자, 와일드카드 문자, 슬래시를 스위치 구분자로 사용하는 등 유사한 특징을 보인다.
2. 역사
TOPS-10은 1964년에 PDP-6 모니터 소프트웨어로 처음 출시되었다. 1967년에 PDP-10 KA10 프로세서를 지원하기 시작했고, 1970년 릴리스 5.01부터 TOPS-10이라는 이름을 사용했다. 1974년 릴리스 6.01에서 가상 메모리(요구 페이징)를 구현하여 실제 메모리보다 큰 프로그램을 실행할 수 있게 되었다. 1988년에 최종 릴리스인 7.04가 출시되었다.
2.1. 릴리스 역사
PDP-6의 모니터는 1964년에 출시되었다. 1967년 릴리스 2.18에서 PDP-10의 KA10 프로세서를 지원했다. 1970년 릴리스 5.01부터 TOPS-10으로 개칭되었다. 릴리스 6.01(1974년 5월)에서 처음으로 가상 메모리(요구 페이징)를 구현하여, 실제 메모리 용량보다 큰 프로그램을 실행할 수 있게 되었다. 릴리스 7.00부터 대칭형 멀티 프로세싱이 가능해졌다(그 전까지는 마스터-슬레이브 방식이 사용되었다). 최종 버전은 1988년 릴리스 7.04이다.
2.2. 현재의 TOPS-10
1996년, DEC는 취미 사용자를 위한 TOPS-10 라이선스를 발행했다. 현재는 에뮬레이터와 시스템 이미지를 사용하여 TOPS-10을 실행할 수 있다. TOPS-10은 보관된 원본 배포 "테이프"에서 생성할 수도 있다.
폴 앨런은 TOPS-10이 실행되는 DECsystem-2065를 포함하여 여러 역사적인 컴퓨터 시스템을 유지 관리하고 있다.
3. 특징
TOPS-10은 공유 메모리를 지원하여, 여러 프로세스가 메모리 공간을 공유하고 효율적으로 통신하며 데이터를 교환할 수 있게 했다. 이는 최초의 진정한 멀티플레이어 컴퓨터 게임 중 하나인 DECWAR영어 개발에 기여했다. DECWAR영어는 텍스트 기반 스타 트렉형 게임으로, 터미널 사용자는 명령을 입력하여 실시간으로 서로 대전을 펼칠 수 있었다. 또한 TOPS-10은 오늘날 MMORPG의 전신인 오리지널 멀티 유저 던전 (MUD)을 구동하는 데 사용되었다.
FORUM은 현재 채팅룸으로 알려진 방식으로 사용자가 서로 대화할 수 있게 해주는 초기 CB 시뮬레이터 중 하나였다. 이는 멀티 유저 통신의 잠재력을 보여주었고, 컴퓨서브의 채팅 응용 프로그램 개발로 이어졌다.
TOPS-10은 UUO(Unimplemented User Operation, 미구현 사용자 연산)라는 메커니즘을 사용한 강력한 응용 프로그래밍 인터페이스 (API)를 가지고 있었다. UUO는 운영 체제 호출을 기계 명령어처럼 보이게 구현하여, DECsystem-10에서 시스템 프로그래밍을 단순하고 강력하게 만들었다.
TOPS-10 스케줄러는 우선순위별 실행 대기열을 지원했으며, 프로세스를 우선순위에 따라 대기열에 추가했다. 또한 사용자 파일 및 장치 독립성을 포함했다.
4.1. 구현된 프로그래밍 언어
TOPS-10에는 어셈블러인 MACRO-10이 번들로 제공되었다.
다음 프로그래밍 언어들은 레이어드 제품으로 TOPS-10에 구현되었다.
| 프로그래밍 언어 | 버전 | 종류 | 용도 |
|---|---|---|---|
| ALGOL | ALGOL-10 v10B | 컴파일러 | 일반적인 컴퓨팅 |
| APL | APL-SF V2 | 인터프리터 | 수학적 모델링 |
| BASIC | BASIC-10 v17F | 인터프리터 | 일반적인 컴퓨팅 |
| BLISS | BLISS-10, BLISS-36 | 컴파일러 | 시스템 프로그래밍 |
| COBOL | COBOL-68, COBOL-74 | 컴파일러 | 비즈니스 컴퓨팅 |
| Fortran | FORTRAN-10 v11 | 컴파일러 | 수치 계산 |
다음 프로그래밍 언어들은 DECUS 회원들의 기여로 TOPS-10에 구현되었다.
4.2. TOPS-10에서 구현된 주요 게임
TOPS-10은 초기 멀티플레이어 게임 개발에 중요한 플랫폼이었다. TOPS-10에서 구현된 주요 게임들은 다음과 같다.
* ADVENT: 최초의 텍스트 기반 어드벤처 게임 중 하나이다.
* DECWAR: 최초의 진정한 멀티플레이어 컴퓨터 게임 중 하나로, 텍스트 기반 스타 트렉 유형의 게임이었다.
* FORUM: 초기 채팅 시스템(CB 시뮬레이터)의 일종으로, 컴퓨서브 채팅 응용 프로그램 개발에 영향을 주었다.
* HAUNT: 초기 롤플레잉 게임이다.
* Mac Hack: 리처드 그린블랫의 체스 프로그램이다.
* MUD: 오늘날 MMORPG의 전신이 되는 게임이다.