TOPS-10:歴史的なタイムシェアリングOS
TOPS-10は、
ディジタル・イクイップメント・コーポレーション(DEC)が1967年にリリースした、PDP-10シリーズ向けの画期的な
オペレーティングシステムです。DECsystem-10という名で知られるPDP-10システムの中核を担い、その名前は「Timesharing / Total OPerating System」の頭文字から取られています。このOSは、元々PDP-6およびPDP-10の初期OSであった「Monitor」から発展し、1970年にTOPS-10として正式に改名されました。
概要
TOPS-10は、
共有メモリのサポートにより、真のマルチプレイヤーゲームを初めて実現したことで知られています。テキストベースの
スタートレック風ゲーム「DECWAR」では、ユーザーが端末からコマンドを入力し、リアルタイムでの対戦が可能でした。また、MMORPGの先駆けである「Multi User Dungeon(MUD)」のオリジナル版もTOPS-10上で運用されました。
特筆すべきアプリケーションとしては、チャットの原型である「FORUM」があります。これはユーザー間での会話を可能にするもので、「CBシミュレータ」の先駆けとされています。このアプリケーションは、複数のユーザーによる対話の可能性を提示し、後のCompuServeのチャット開発のきっかけの一つとなりました。
TOPS-10のAPIは、その堅牢さで知られています。UUO(Unimplemented User Operation;未実装ユーザー命令)を利用した機構を採用しており、システムコールは
機械語の命令として実装されました。この「モニターコール」と呼ばれるAPIは、当時のOSと比較して非常に進んでおり、DECsystem-10のシステムプログラミングをシンプルかつ強力なものにしました。
スケジューラには、プライオリティ付きの複数のキューで構成される多段フィードバックキューの原型が採用されており、
プロセスをプライオリティに基づいてキューに挿入することができました。また、ユーザーファイルとデバイスが独立している点も特徴です。
コマンド
TOPS-10は、豊富なコマンドセットをサポートしていました。以下はその一部です。
LOGIN : ユーザーログイン
LOGOUT : ユーザーログアウト
DIR : ディレクトリ内容の表示
TYPE : ファイル内容の表示
COPY : ファイルコピー
DELETE : ファイル削除
RENAME : ファイルリネーム
SAVE : ファイル保存
RUN : プログラム実行
DEBUG : プログラムデバッグ
歴史
リリース履歴
1964年:PDP-6向け「Monitor」リリース。
1967年:リリース2.18でPDP-10のKA10プロセッサをサポート。
1970年:リリース5.01で「TOPS-10」に改名。
1974年5月:リリース6.01で
仮想記憶(デマンドページング)を初実装。
リリース7.00:対称型マルチプロセッシングに対応。
1988年:最終版リリース7.04。
今日のTOPS-10
1996年、DECはTOPS-10のホビースト向けライセンスを発行し、愛好家が使用することを許可しました。現在、TOPS-10を動作させるには、
エミュレータとOSのシステムイメージを利用するのが最も簡単な方法です。オリジナルの配布用磁気テープもアーカイブされており、そこから構築することも可能です。
ポール・アレンは、歴史的なコンピュータシステムの保守と公開に尽力しており、そのコレクションにはTOPS-10が動作するDECsystem-1090も含まれています。
ソフトウェア
TOPS-10には、アセンブラ「MACRO-10」が同梱されていました。また、以下の
プログラミング言語が動作しました。
DEC純正
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(ユーザーグループ)提供
FOCAL (FOCAL-10)
Forth:
スレッデッドコード方式の言語
IMP72
LISP: AIプログラミング向けインタプリタ
Pascal: コンピュータ教育向けコンパイラ
PILOT: CAI向け言語
SAM76
Simula: モデリング用コンパイラ
SNOBOL: 文字列処理用インタプリタ
BCPL: エセックス大学が実装したコンパイラ
実装されたユーティリティ
RMS: レコードマネジメントサービス
IQL: 対話型クエリ言語
DBMS-10: CODASYL データベース
TOPS-10で実装された主なゲーム
コロッサル・ケーブ・アドベンチャー (ADVENT)
DECWAR
FORUM
HAUNT: 初期のロールプレイングゲーム
マックハック: リチャード・グリーンブラットが開発した
コンピュータチェス
MUD
影響
MS-DOSは、TOPS-10から大きな影響を受けています。3文字のファイル拡張子、EXEやTXTなどの主な拡張子名、アスタリスク()を用いたワイルドカード、コマンドのスイッチにスラッシュ(/)を用いるなど、多くの共通点が見られます。
関連項目
TOPS-20
コロッサル・ケーブ・アドベンチャー