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つが開発された。The Decwar Pageはテキストベースのスタートレックのようなゲームで、ユーザーは端末からコマンドを打ち込み、リアルタイムで対戦できた。また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がサポートしているコマンドの一覧である。
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 PRINT 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である。
今日のTOPS-10 1996年、DECはTOPS-10を愛好家が使用することを許諾するホビースト向けライセンスを発行したHome hobbyist license for Digital's 36b software。
今日TOPS-10を動作させる最も簡単な方法は、適当なエミュレータ The Computer History Simulation ProjectKLH10 PDP-10 EmulatorとOSのシステムイメージTOPS-10 pre-built imageを利用する方法である。また、元もとの配布用磁気テープの内容がアーカイブされており、そこから構築することも可能であるPDP-10 software archive Notes on DEC PDP-10 Emulation。
ポール・アレンは歴史的コンピュータシステムを保守し公開しているが、その中にTOPS-10が動作する DECsystem-1090 も含まれるLiving Computer Museum。
ソフトウェア
実装されたプログラミング言語 TOPS-10のアセンブラがTOPS-10に同梱されていた。
以下のプログラミング言語製品がTOPS-10上で動作した。
ALGOL (ALGOL-10 v10B)DECsystem10/20 ALGOL Programmer's Guide, April 1977 - 汎用コンパイラ APL (APL-SF V2)APL-SF Language Manual, August 1979 - 数学的モデリング用インタプリタ BASIC (BASIC-10 v17F)DECsystem-10 BASIC Conversational Language Manual, March 1974 - 汎用インタプリタ BLISS (BLISS-10, BLISS-36) - システムプログラミング用コンパイラ COBOL (COBOL-68, COBOL-74) - 事務処理用コンパイラ FORTRAN (FORTRAN-10 v11) - 科学技術計算用コンパイラ
以下のプログラミング言語もTOPS-10上で実装されているが、DEC純正ではなくユーザーグループ の会員が提供したものである。
FOCAL (FOCAL-10) Forth - スレッデッドコード方式の言語 IMP72 LISP - AIプログラミング向けインタプリタ Pascal - コンピュータ教育向けコンパイラ - CAI向け言語 SAM76 Simula - モデリング用コンパイラ SNOBOL - 文字列処理用インタプリタ BCPL - エセックス大学が実装したコンパイラ
実装されたユーティリティ 以下のリストはTOPS-10で実装された主なユーティリティソフトである。
RMS - レコードマネジメントサービス IQL - 対話型クエリ言語 DBMS-10 - CODASYL データベース
TOPS-10で実装された主なゲーム コロッサル・ケーブ・アドベンチャー (ADVENT) DECWAR - 前述 FORUM - 前述 HAUNT - 初期のロールプレイングゲーム マックハック - リチャード・グリーンブラットが開発したコンピュータチェス MUD - 前述
影響 MS-DOSはTOPS-10から大きな影響を受けている。3文字のファイル拡張子、EXEやTXTといった主な拡張子名、アスタリスク(*)を用いたワイルドカード、コマンドのスイッチにスラッシュ(/)を用いるなど、数多くの共通点がみられる。
脚注
関連項目 TOPS-20 コロッサル・ケーブ・アドベンチャー