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つが開発された。DECWAR（英語版）はテキストベースのスタートレックのようなゲームで、ユーザーは端末からコマンドを打ち込み、リアルタイムで対戦できた。また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である。 1996年、DECはTOPS-10を愛好家が使用することを許諾するホビースト向けライセンスを発行した。 今日TOPS-10を動作させる最も簡単な方法は、適当なエミュレータとOSのシステムイメージを利用する方法である。また、元もとの配布用磁気テープの内容がアーカイブされており、そこから構築することも可能である 。 ポール・アレンは歴史的コンピュータシステムを保守し公開しているが、その中にTOPS-10が動作する DECsystem-1090 も含まれる。 TOPS-10のアセンブラMACRO-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純正ではなくユーザーグループ DECUS（英語版） の会員が提供したものである。 FOCAL (FOCAL-10) Forth - スレッデッドコード方式の言語 IMP72 LISP - AIプログラミング向けインタプリタ Pascal - コンピュータ教育向けコンパイラ PILOT（英語版） - CAI向け言語 SAM76 Simula - モデリング用コンパイラ SNOBOL - 文字列処理用インタプリタ BCPL - エセックス大学が実装したコンパイラ 以下のリストはTOPS-10で実装された主なユーティリティソフトである。 RMS - レコードマネジメントサービス IQL - 対話型クエリ言語 DBMS-10 - CODASYL データベース コロッサル・ケーブ・アドベンチャー (ADVENT) DECWAR - 前述 FORUM - 前述 HAUNT - 初期のロールプレイングゲーム マックハック - リチャード・グリーンブラットが開発したコンピュータチェス MUD - 前述 MS-DOSはTOPS-10から大きな影響を受けている。3文字のファイル拡張子、EXEやTXTといった主な拡張子名、アスタリスク(*)を用いたワイルドカード、コマンドのスイッチにスラッシュ(/)を用いるなど、数多くの共通点がみられる。 ^ a b “TOPS-10 Release History”. 10 January 2014閲覧。 ^ The Decwar Page ^ (pdf) TOPS-10 Operating System Commands Manual. Digital Equipment Corporation. (August 1980). http://scandocs.trailing-edge.com/tops10-aa-0916d-tb.pdf 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). http://bitsavers.org/pdf/dec/pdp10/TOPS10/DEC-10-LBRMA-A-D_BLISS-10_Programmers_Manual_Ver_4_Feb74.pdf 2019年2月17日閲覧。  ^ (pdf) BLISS Language Guide. Digital Equipment Corporation. (April 1983). http://bitsavers.org/pdf/dec/pdp10/TOPS10_softwareNotebooks/vol07/AA_H275C-TK_BLISS_Language_Guide_Apr83.pdf September 6, 2018閲覧。  ^ (pdf) TOPS-10/TOPS-20 COBOL-68 Language Manual. Digital Equipment Corporation. (August 1981). http://bitsavers.org/pdf/dec/pdp10/TOPS10_softwareNotebooks/vol09/AA-5057B-TK_COBOL-68_Language_Manual_Aug81.pdf September 6, 2018閲覧。  ^ (pdf) TOPS-10/TOPS-20 COBOL-74 Language Manual. Digital Equipment Corporation. (October 1985). http://bitsavers.org/pdf/dec/pdp10/TOPS10_softwareNotebooks/vol10/AA-5059B-TK_COBOL-74_Language_Manual_Oct85.pdf September 6, 2018閲覧。  ^ (pdf) TOPS-10/TOPS-20 FORTRAN Language Manual. Digital Equipment Corporation. (May 1985). http://bitsavers.org/pdf/dec/pdp10/TOPS20/fortran/AA-N383B-TK_FORTRAN_Language_Manual_Ver_10_May85.pdf September 6, 2018閲覧。  ^ “Why Does Windows Really Use Backslash as Path Separator?”. 25 May 2019時点のオリジナルよりアーカイブ。25 May 2019閲覧。 TOPS-20 コロッサル・ケーブ・アドベンチャー