TOPS-10
開発者 | DEC |
---|---|
プログラミング言語 | MACRO-10, BLISS |
OSの系統 | DEC OS ファミリ |
開発状況 | 終了済み |
最新安定版 | 7.04.[1] / 1988年7月 |
使用できる言語 | 英語 |
プラットフォーム | PDP-10 |
既定のUI | CUI |
ライセンス | プロプライエタリ 個人利用は無料 |
TOPS-10は1967年にディジタル・イクイップメント・コーポレーション (DEC) がメインフレームのPDP-10シリーズ向けにリリースした歴史上のオペレーティングシステム(OS)。TOPS-10を搭載したPDP-10システムは "DECsystem-10"と呼ばれた。"TOPS" は Timesharing / Total OPerating System の略。元々はPDP-6およびPDP-10の初期のOSだった "Monitor" が発展したもので、1970年にTOPS-10へ改名された。
概要
[編集]TOPS-10は共有メモリをサポートしており、世界で初めて真のマルチプレイヤーを実現したゲームの1つが開発された。DECWAR[2]はテキストベースのスタートレックのようなゲームで、ユーザーは端末からコマンドを打ち込み、リアルタイムで対戦できた。またTOPS-10は今日ではMMORPGと呼ばれるオンラインロールプレイングゲームの先駆けであるMulti User Dungeon(MUD)のオリジナルを運用するのに用いられた。
他の特筆すべきアプリケーションとして FORUM がある。現在ではチャットと言われるユーザー同士の会話ができるアプリケーションであり、いわゆる「CBシミュレータ」の先駆けでだった。このアプリケーションは複数のユーザーによる対話の可能性を示したもので、CompuServeのチャットが開発される要因のひとつとなった。
TOPS-10のAPIは非常に頑強であり、UUO(Unimplemented User Operation; 未実装ユーザー命令)を利用した機構を使っている。UUOによりシステムコールは機械語の命令の1つであるように実装された。このAPIはモニターコールと呼ばれ、当時としてはほとんどのOSより大きく進んでおり、DECsystem-10のシステムプログラミングを単純かつ強力なものにした。
TOPS-10はプライオリティが付いた複数のキューで構成されるスケジューラを備えており、多段フィードバックキューの原始的なもので、プライオリティに基づいてプロセスをキューに挿入できた。またこのOSではユーザーファイルとデバイスが独立していた。
コマンド
[編集]下記のリストはTOPS-10がサポートしているコマンドの一覧である[3]。
- ASSIGN
- ATTACH
- BACKSPACE
- BACKUP
- CCONTINUE
- COMPILE
- CONTINUE
- COPY
- CORE
- CPUNCH
- CREATE
- CREDIR
- CREF
- CSTART
- D(eposit)
- DAYTIME
- DCORE
- DDT
- DEASSIGN
- DEBUG
- DELETE
- DETACH
- DIRECTORY
- DISABLE
- DISMOUNT
- DSK
- DUMP
- E(xamine)
- EDIT
- ENABLE
- EOF
- EXECUTE
- FILCOM
- FILE
- FINISH
- FUDGE
- GET
- GLOB
- HALT
- HELP
- INITIA
- JCONTINUE
- KJOB
- LABEL
- LIST
- LOAD
- LOCATE
- LOGIN
- MAKE
- MERGE
- MIC
- MOUNT
- NETWORK
- NODE
- NSAVE
- NSSAVE
- OPSER
- PJOB
- PLEASE
- PLOT
- PRESERVE
- PROTECT
- PUNCH
- QUEUE
- QUOLST
- R
- REASSIGN
- REATTACH
- REENTER
- RENAME
- RESOURCES
- REWIND
- RUN
- SAVE
- SSAVE
- SCHED
- SEND
- SET
- SKIP
- START
- SUBMIT
- SYSTAT
- TECO
- TIME
- TPUNCH
- TYPE
- UNLOAD
- USESTAT
- VERSION
- WHERE
- ZERO
歴史
[編集]リリース履歴
[編集]PDP-6のMonitorは1964年にリリースされた。1967年のリリース2.18でPDP-10のKA10プロセッサをサポートした。1970年のリリース5.01からTOPS-10に改称された。リリース6.01(1974年5月)で初めて仮想記憶(デマンドページング)を実装し、物理メモリ容量より大きなプログラムを実行できるようになった。リリース7.00から対称型マルチプロセッシングが可能となった(それまではマスタースレーブ方式が使われていた)。最終版は1988年のリリース7.04である[1]。
今日のTOPS-10
[編集]1996年、DECはTOPS-10を愛好家が使用することを許諾するホビースト向けライセンスを発行した[4]。
今日TOPS-10を動作させる最も簡単な方法は、適当なエミュレータ[5][6]とOSのシステムイメージ[7]を利用する方法である。また、元もとの配布用磁気テープの内容がアーカイブされており、そこから構築することも可能である[8] [9]。
ポール・アレンは歴史的コンピュータシステムを保守し公開しているが、その中にTOPS-10が動作する DECsystem-1090 も含まれる[10]。
ソフトウェア
[編集]実装されたプログラミング言語
[編集]TOPS-10のアセンブラMACRO-10がTOPS-10に同梱されていた。
以下のプログラミング言語製品がTOPS-10上で動作した。
- ALGOL (ALGOL-10 v10B)[11] - 汎用コンパイラ
- APL (APL-SF V2)[12] - 数学的モデリング用インタプリタ
- BASIC (BASIC-10 v17F)[13] - 汎用インタプリタ
- BLISS (BLISS-10[14], BLISS-36[15]) - システムプログラミング用コンパイラ
- COBOL (COBOL-68[16], COBOL-74[17]) - 事務処理用コンパイラ
- FORTRAN (FORTRAN-10 v11[18]) - 科学技術計算用コンパイラ
以下のプログラミング言語もTOPS-10上で実装されているが、DEC純正ではなくユーザーグループ DECUS の会員が提供したものである。
- FOCAL (FOCAL-10)
- Forth - スレッデッドコード方式の言語
- IMP72
- LISP - AIプログラミング向けインタプリタ
- Pascal - コンピュータ教育向けコンパイラ
- PILOT - CAI向け言語
- SAM76
- Simula - モデリング用コンパイラ
- SNOBOL - 文字列処理用インタプリタ
- BCPL - エセックス大学が実装したコンパイラ
実装されたユーティリティ
[編集]以下のリストはTOPS-10で実装された主なユーティリティソフトである。
TOPS-10で実装された主なゲーム
[編集]- コロッサル・ケーブ・アドベンチャー (ADVENT)
- DECWAR - 前述
- FORUM - 前述
- HAUNT - 初期のロールプレイングゲーム
- マックハック - リチャード・グリーンブラットが開発したコンピュータチェス
- MUD - 前述
影響
[編集]MS-DOSはTOPS-10から大きな影響を受けている。3文字のファイル拡張子、EXEやTXTといった主な拡張子名、アスタリスク(*)を用いたワイルドカード、コマンドのスイッチにスラッシュ(/)を用いるなど、数多くの共通点がみられる[19]。
脚注
[編集]- ^ a b “TOPS-10 Release History”. 10 January 2014閲覧。
- ^ The Decwar Page
- ^ (pdf) TOPS-10 Operating System Commands Manual. Digital Equipment Corporation. (August 1980) 2019年2月17日閲覧。
- ^ Home hobbyist license for Digital's 36b software
- ^ The Computer History Simulation Project
- ^ KLH10 PDP-10 Emulator
- ^ TOPS-10 pre-built image
- ^ PDP-10 software archive
- ^ Notes on DEC PDP-10 Emulation
- ^ Living Computer Museum
- ^ DECsystem10/20 ALGOL Programmer's Guide, April 1977
- ^ APL-SF Language Manual, August 1979
- ^ DECsystem-10 BASIC Conversational Language Manual, March 1974
- ^ (pdf) BLISS-10 Programmer′s Reference Manual. Digital Equipment Corporation. (February 1974) 2019年2月17日閲覧。
- ^ (pdf) BLISS Language Guide. Digital Equipment Corporation. (April 1983) September 6, 2018閲覧。
- ^ (pdf) TOPS-10/TOPS-20 COBOL-68 Language Manual. Digital Equipment Corporation. (August 1981) September 6, 2018閲覧。
- ^ (pdf) TOPS-10/TOPS-20 COBOL-74 Language Manual. Digital Equipment Corporation. (October 1985) September 6, 2018閲覧。
- ^ (pdf) TOPS-10/TOPS-20 FORTRAN Language Manual. Digital Equipment Corporation. (May 1985) September 6, 2018閲覧。
- ^ “Why Does Windows Really Use Backslash as Path Separator?”. 25 May 2019時点のオリジナルよりアーカイブ。25 May 2019閲覧。