TOPS-10

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つが開発された。はテキストベースのスタートレックのようなゲームで、ユーザーは端末からコマンドを打ち込み、リアルタイムで対戦できた。また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を愛好家が使用することを許諾するホビースト向けライセンスを発行した。

今日TOPS-10を動作させる最も簡単な方法は、適当なエミュレータとOSのシステムイメージを利用する方法である。また、元もとの配布用磁気テープの内容がアーカイブされており、そこから構築することも可能である
。

ポール・アレンは歴史的コンピュータシステムを保守し公開しているが、その中にTOPS-10が動作する DECsystem-1090 も含まれる。

ソフトウェア

実装されたプログラミング言語 
TOPS-10のアセンブラがTOPS-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) - 科学技術計算用コンパイラ

以下のプログラミング言語も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
 コロッサル・ケーブ・アドベンチャー

オペレーティングシステム
ディジタル・イクイップメント・コーポレーション
1967年のソフトウェア