| 開発者 | Digital Equipment Corporationおよび Mentec Inc. |
|---|---|
| 書かれた | マクロ-11 |
| 作業状態 | 製造中止 |
| ソースモデル | クローズドソース |
| 初回リリース | 1973年[要出典] |
| 最新リリース | 5.7 / 1998年10月[1] |
| マーケティングターゲット | 研究室、科学、産業機器 |
| 利用可能 | 英語 |
| プラットフォーム | PDP-11ファミリーとクローン |
| カーネルタイプ | モノリシック |
| デフォルトの ユーザーインターフェース | キーボードモニター (KMON)コマンドラインインターフェース |
| ライセンス | 独自 |
RT-11 ( Real-time 11 ) は、Digital Equipment CorporationのPDP-11 16 ビットコンピュータの全製品に対応した、小型でローエンドな[2]シングル ユーザーリアルタイム オペレーティング システムです。RT-11 は 1970 年に初めて実装されました。PDP- 11 全般にわたって、リアルタイム コンピューティングシステム、プロセス制御、データ取得に広く使用されました。また、低コストの汎用コンピューティングにも使用されました。[2]
特徴
ソースコード
RT-11 はアセンブリ言語で記述されています。MACRO -11アセンブラの条件付きアセンブリとマクロ プログラミング機能を多用することで、高度な構成が可能になり、プログラマーはマシン コードでは提供されていない高レベルの命令を指定できるようになりました。RT-11 の配布には、すべてのコメントが削除されたオペレーティング システムとそのデバイス ドライバーのソース コードと、ユーザー指定の構成に従ってオペレーティング システムとドライバーを構築する「SYSGEN」というプログラムが含まれていました。開発者向けドキュメントには、コメントを含むカーネルリストが含まれていました。
デバイスドライバー
RT-11では、デバイスドライバ[3] [4]はロード可能でしたが、V4.0より前では、システムデバイス(ブートデバイス)用のデバイスドライバは構成時にカーネルに組み込まれていました。RT-11はデバイスの制御とデータ収集によく使用されていたため、開発者がデバイスドライバを作成または拡張することは一般的でした。DECは、ハードウェアサブシステム(バス構造からコードまで)をオープンにし、オペレーティングシステムの内部を文書化し、サードパーティのハードウェアおよびソフトウェアベンダーを奨励し、Digital Equipment Computer Users Societyの発展を促進することで、このようなドライバの開発を奨励しました。
マルチタスク
RT-11システムはプリエンプティブマルチタスクをサポートしていませんでしたが、ほとんどのバージョンで複数のアプリケーションを同時に実行できました。モニターのすべてのバリアントはバックグラウンドジョブを提供しました。FB、XM、およびZMモニターはフォアグラウンドジョブも提供し、SYSGENシステム生成プログラムで選択した場合は6つのシステムジョブを提供しました。これらのタスクには固定の優先順位があり、バックグラウンドジョブが最も低く、フォアグラウンドジョブが最も高かったです。システムコンソールのユーザーインターフェイスからジョブを切り替えることができ、SYSGENは単一のバックグラウンドジョブを提供するモニターを生成できました(SB、XB、およびZBバリアント)。[2]フォアグラウンドとバックグラウンド という用語は直感に反しています。バックグラウンドジョブは通常、ユーザーのコマンドラインインタープリターであり、フォアグラウンドジョブは非対話型のデータ収集などを行う場合があります。
ヒューマンインターフェース

ユーザーは一般的に、印刷端末またはビデオ端末を介して RT-11 を操作しました。当初はストラップで選択可能な電流ループ (従来のテレタイプ用) またはCPU カードの 1 つにあるRS-232 (後にRS-422も) インターフェイスを介して操作しました。DEC は VT11 および VS60 グラフィックス ディスプレイ デバイス (テキストを表示するためのグラフィック文字ジェネレータとグラフィカル入力用のライトペンを備えたベクター グラフィックス 端末) もサポートしていました。サードパーティの人気製品はTektronix 4010ファミリでした。
キーボード モニター (KMON) は、ユーザーが発行したコマンドを解釈し、コマンド ストリング インタープリタ (CSI) 形式のコマンドを使用してさまざまなユーティリティを呼び出します。RT-11 コマンド言語には、RT-11 から大幅に借用された後のDOSラインのオペレーティング システムで見られる多くの機能 (コマンドやデバイス名など) がありました。CSI 形式では、入力ファイル名と出力ファイル名およびオプション(RT-11 では「スイッチ」) が正確な順序と構文で要求されました。コマンド ライン スイッチは、Unix 系オペレーティング システムで使用される/ダッシュ ( ) ではなく、スラッシュ ( )で区切られました。すべてのコマンドには完全な形式と短縮形がありました。たとえば、RENAME コマンドはRENと短縮できます。
-
バッチ ファイルとバッチ プロセッサを使用すると、基本的な制御フローを使用して一連のコマンドを発行できます。バッチ ファイルの拡張子は.BAT です。
RT-11 の後のリリースでは、.COM コマンド ファイルを使用して一連のコマンドを呼び出すことができましたが、フロー制御なしで順番に実行されました。さらに後になって、.CMD 制御ファイルを入力として受け取る間接コマンド ファイル プロセッサ (IND) を使用することで、一連のコマンドを細かく制御して実行できるようになりました。
拡張子が .SAV のファイルは、実行可能ファイルの一種です。RT-11 SAVE コマンドを使用してメモリの内容をディスク ファイルに保存し、後で読み込んで実行できるため、任意のセッションを保存できるため、「保存ファイル」と呼ばれていました。
SAVE コマンドは、GET、 START 、REENTER、EXAMINE、DEPOSITとともに、KMON に実装された基本コマンドでした。一部のコマンドとユーティリティは、後にDOSシリーズのオペレーティング システムに取り入れられました。これらのコマンドには、DIR、COPY、RENAME、ASSIGN、CLS、DELETE、TYPE、HELPなどがあります。FORMATコマンドは物理ディスクのフォーマットに使用されましたが、ファイル システムを作成する機能はなかったため、ファイル システムの作成には INIT コマンド (DOS コマンド FORMAT /Q に類似) が使用されました。ほとんどのコマンドは、ファイル名での ワイルドカードの使用をサポートしていました。
物理デバイス名は 'dd{n}:' の形式で指定されます。ここで 'dd' は 2 文字のアルファベットのデバイス名で、オプションの 'n' はユニット番号 (0~7) です。ユニット番号を省略すると、ユニット 0 と見なされます。たとえば、TT: はコンソール端末、LP: (または LP0:) はパラレル ライン プリンタ、DX0:、DY1:、DL4: はディスク ボリューム (それぞれ RX01 ユニット 0、RX02 ユニット 1、RL01 または RL02 ユニット 4) を指します。論理デバイス名は 1~3 文字の英数字で構成され、物理デバイス名の代わりに使用されます。これはASSIGNコマンドを使用して実現されます。たとえば、 を発行すると、ASSIGN DL0 ABC今後 'ABC:' へのすべての参照が 'DL0:' にマップされます。予約済みの論理名 DK: は、現在のデフォルト デバイスを参照します。ファイル指定にデバイスが含まれていない場合は、DK: と見なされます。予約済みの論理名 SY: システム デバイス (システムが起動されたデバイス) を参照します。
RT-11 の後のバージョンでは、特定のデバイスに対して最大 64 単位 (8 進数で 0 ~ 77) を指定できるようになりましたが、デバイス名は依然として 3 文字の英数字に制限されていました。この機能は SYSGEN の選択によって有効化され、DU および LD デバイス ハンドラーにのみ適用されました。これらの 2 つのケースでは、デバイス名の形式は 'dnn:' になりました。ここで、'd' は DU デバイスの場合は 'D'、LD デバイスの場合は 'L'、'nn' は 00 ~ 77 (8 進数) でした。
ソフトウェア
RT-11 は、多くのアクションを実行するためのユーティリティとともに配布されました。ユーティリティDIR、DUP、PIP、およびFORMAT は、ディスクボリュームの管理に使用されました。TECO、EDIT、およびビジュアルエディタ KED (DEC VT100用) とK52 (DEC VT52用) は、ソースファイルとデータファイルの作成と編集に使用されました。MACRO、LINK、およびLIBR は、実行可能ファイルの作成に使用されました。ODT、VDT、および SD デバイスは、プログラムのデバッグに使用されました。 DEC バージョンのRunoff [5]は、ドキュメントの作成に使用されました。 最後に、 VTCOM は、モデムを介して電話経由で別のコンピュータシステムに接続して使用(またはファイルを転送) するために使用されました。
このシステムは、現代のパーソナルコンピューティングの多くのタスクを処理できるほど完成度が高かった。他の PDP-11 オペレーティングシステムで使用されている Saturn Software のワードプロセッサパッケージ LEX-11 やスプレッドシートなどの生産性ソフトウェアも、RT-11 で実行できた。[6] RT-11 用の大量の無償のユーザー提供ソフトウェアが、Cの実装を含め、Digital Equipment Computer Users Society (DECUS)から提供されていた。アセンブリ言語プログラムの開発とデバッグのツールは提供されていたが、C、Fortran、Pascal、[7]などの他の言語やBASICのいくつかのバージョンは、追加料金で DEC から「レイヤード製品」として提供されていた。これらのプログラミング言語やその他のプログラミング言語のバージョンは、他のサードパーティソースからも提供されていた。DECNET、インターネット、および他のサードパーティソースによって開発されたプロトコルを 使用して、RT-11 マシンをネットワーク化することさえ可能である。
ディストリビューションと最小限のシステム構成
RT-11 オペレーティングシステムは、2 枚の 8 インチ 250KBフロッピーディスクと 56KB のメモリで構成されるマシンから起動して有用な作業を実行でき、8 台の端末をサポートできました。その他の起動オプションには、 RK05 2.5MB リムーバブルハードディスクプラッタ、または磁気テープがあります。配布は、プリインストールまたはパンチテープ、磁気テープ、カートリッジテープ、またはフロッピーディスクで利用できました。単一のリアルタイムユーザーをサポートする最小限だが完全なシステムは、ユーザープログラムを含む 1 枚のフロッピーディスクと 8K 16 ビットワード (16KB) の RAM で実行できました。これは、スワッピングとオーバーレイのサポートによって容易になりました。このような小さなメモリシステムでの操作を実現するために、キーボードコマンドユーザーインターフェイスは、ユーザープログラムの実行中にスワップアウトされ、プログラム終了時にメモリにスワップインされます。このシステムは、リアルタイム クロック、印刷端末、VT11 ベクトル グラフィック ユニット、2 チャネル D/A を備えた 16 チャネル 100 kHz A/D コンバータ、9600 ボー シリアル ポート、16 ビット双方向ボードなどを サポートしていました。
ファイルシステム
RT-11 は、6 文字のファイル名と 3 文字の拡張子 (6.3) を採用したシンプルで高速なファイル システムを実装しました。この拡張子はRADIX-50でエンコードされており、9 文字が 3 つの 16 ビット ワード (6 バイト) にパックされています。この結果、ファイル名に使用できる文字は、'A'-'Z'、'a'-'z' (大文字に変換)、'0'-'9'、'$'、'%'、'*' になりました。ファイル名の前にデバイス名を付けて、デフォルトの DK: デバイス (これも RADIX-50 でエンコードされています) とは異なるデバイスを指定することもできます。
すべてのファイルは連続しており、各ファイルはディスク上の連続したブロック(ディスクストレージの最小アドレス単位、512バイト)を占めていました。つまり、ファイル全体を非常に速く読み書きできました。このファイルシステム構造の副作用は、時間の経過とともにボリューム上でファイルが作成され、削除されると、未使用のディスクブロックが連続していない可能性が高くなり、大きなファイルを作成する際の制限要因になる可能性があることです。その対策として、未使用部分を統合するためにディスクを定期的に「圧縮」 (または「押しつぶす」) しました。[8] [9]
各ボリュームには、ボリュームの先頭に事前割り当てられたディレクトリが 1 つだけあります。ディレクトリは、ファイルまたは未割り当て領域ごとに 1 つのエントリの配列で構成されます。各ディレクトリ エントリは 8 個 (またはそれ以上) の 16 ビット ワードですが、sysgen オプションにより、アプリケーション固有の追加ストレージが許可されます。[10]
他のDECオペレーティングシステムとの互換性
多くの RT-11 プログラム (特殊な周辺機器やハードウェアへの直接アクセスを必要としないプログラム) は、RSTS/Eタイムシェアリング システムのRT=11 RTS (ランタイム システム) を使用して、または RSX-11 とVMSのさまざまなリリース上の RTEM (RT エミュレーター) で直接実行できます。
RT-11 用のDCLの実装により、他の DEC オペレーティング システムとの互換性が向上しました。各オペレーティング システムには、そのオペレーティング システム固有のコマンドとオプションがありましたが、共通するコマンドとコマンド オプションもいくつかありました。
その他の PDP-11 オペレーティングシステム
DEC は、リアルタイム機能を備えたマルチユーザー、マルチタスク オペレーティング システムであるRSX-11と、マルチユーザー タイムシェアリング システムである RSTS/E (当初の名称は RSTS-11) も販売していましたが、リアルタイム応答が求められるデータ収集システムでは、RT-11 がオペレーティング システムとして選ばれ続けました。Unixオペレーティングシステムも人気を博しましたが、RT-11 のようなリアルタイム機能と極端に小さいサイズが欠けていました。
ハードウェア
RT-11 は、PDP- 11/05 (1970 年の最初のターゲット(PDP-11/05 は 1972 年にリリースされたので、これはおそらく PDP-11/20 だった)) から最終的な PDP-11 実装 (PDP-11/93 および /94) まで、Q-Bus ベースと Unibus ベースの両方の DEC PDP-11 ファミリのすべてのメンバーで実行されました。さらに、DEC の Professional シリーズおよび PDT-11 "Programmed Data Terminal" システムでも実行されました。PDP-11 アーキテクチャは、他の会社の代替製品 (例: Mentec の M100 およびファミリ) または他の国でのリバース エンジニアリングされたクローン (例:ソビエト連邦のDVK ) に実装されたため、RT-11 はこれらのマシンでも動作します。
周辺機器
CalCompプロッタなどの周辺機器のドライバサポートを追加するには、[11]通常はファイルのコピーが必要で、SYSGENは必要ありませんでした。[2]
互換性のあるオペレーティングシステム
ファズボール
インターネットプロトコル用のルーティングソフトウェアであるFuzzballは、RT-11プログラムを実行することができました。[12]
シェアプラス
HAMMONDsoftware は、初期のマルチコンピュータ システムである STAReleven や、VAX/VMSオペレーティング システムからアーキテクチャの概念を一部取り入れた RT-11 のマルチプロセス/マルチユーザー実装である SHAREplus など、RT-11 互換のオペレーティング システムを多数配布しました。操作には RT-11 デバイス ドライバーが必要でした。他の PDP-11 および VAX/VMS への透過的なデバイス アクセスは、ネットワーク オプションでサポートされていました。限定的なRSX-11アプリケーション互換性も利用できました。SHAREplus は、ヨーロッパで最も強力なユーザー ベースを持っていました。
TSX-11
S&H Computing社が開発したTSX-11 [ 13]は、RT-11のマルチユーザー、マルチプロセスの実装でした。唯一できなかったのはブートプロセスの処理でした。そのため、TSX-Plusマシンは、TSX-Plusをユーザープログラムとして実行する前に、まずRT-11をブートする必要がありました。TSX-Plusが実行されるや否や、マシンの制御をRT-11から完全に引き継ぎます。TSX-Plusは、ユーザーを他のユーザーから完全に保護し、ユーザーアカウントを提供し、ディスクボリューム上のアカウントの分離を維持し、RT-11 EMTプログラム要求のスーパーセットを実装しました。
S&H がオリジナルの TSX を書いたのは、「1 人のユーザーしかサポートできないコンピュータに 25,000 ドルを費やすのは [創設者のハリー サンダース] を困らせた」ためであり、その結果、1976 年に最初の 4 ユーザーの TSX が誕生しました。 [14] TSX-Plus (1980 年にリリース) は、1976 年にリリースされた TSX の後継です。 [14]このシステムは 1980 年代に人気がありました。RT-11 プログラムは通常、TSX-Plus で変更せずに実行でき、実際、ほとんどの RT-11 ユーティリティは TSX-Plus でそのまま使用されました。デバイス ドライバーは通常、わずかな変更のみを必要としました。
PDP-11のモデルとメモリの量に応じて、システムは最低12人のユーザーをサポートできます[14](2Mb 11/73では、ワークロードに応じて14〜18人のユーザー)。[15] TSX-Plusの最後のバージョンではTCP/IPがサポートされていました。
バージョン
バリエーション
ユーザーは、マルチタスク、メモリ サイズ、および個別の I および D (命令とデータ) アドレス空間 のサポート レベルの異なるバリアントから選択できます。
マップされていないメモリ
- RT-11SJ (シングルジョブ) では、1 つのタスクのみが許可されました。これが最初の配布でした。
- RT-11BL(ベースライン)はSJの簡素化されたバージョンで、メモリの常駐が最小限で、オプション機能がありません。[16]
- RT-11FB(フォアグラウンド/バックグラウンド)は、高優先度の非対話型「フォアグラウンド」ジョブと、低優先度の対話型「バックグラウンド」ジョブの2つのタスクをサポートしていました。[2]
マップされたメモリ
- RT-11XBはシングルジョブで、I&D分離をサポートしていません。[17]
- RT-11XM (eXtended Memory) はFBのスーパーセットであり[2] 、 64kbを超えるメモリをサポートしたが、メモリ管理ハードウェアを備えたミニコンピュータが必要であった。1975年頃から配布された。最大8つの同時ジョブ。[17]
- RT-11ZBシングルジョブ、I&D分離をサポート。[17]
- RT-11ZMは、命令とデータの空間が分離されたシステム( Unibusベースの11/44、45、55、70、84、94やQ-Busベースの11/ 53、73、83、93など)をサポートし、最大8つの同時ジョブを実行可能。[17]
特殊バージョン
RT-11 をベースにしたいくつかの特殊な PDP-11 システムが販売されました。
- LAB-11は、実験データの収集用にLPS-11アナログ周辺機器を提供しました。
- PEAK-11 は、ガスクロマトグラフ(GC によって生成されたピークを分析) で使用するためのさらなるカスタマイズを提供し、データ収集は RT-11 のフォアグラウンド プロセスで実行され、ユーザーのデータ分析プログラムはバックグラウンドで実行されました。
- GT4x システムには、VT11 ベクター グラフィックス周辺機器が追加されました。これらのシステムには、 Lunar LanderやSpacewar!のバージョンなど、非常に人気のあるデモ プログラムがいくつか提供されていました。
- GT62 システムでは、サイドボード キャビネットに VS60 ベクトル グラフィックス 周辺機器 (VT11 互換) が追加されました。
- GAMMA-11 は、RT-11 と PDP 11/34 をパッケージ化したシステムで、初の完全統合型核医学システムの 1 つでした。高速アナログ/デジタル コンバーター、16 ビット カラー グラフィック ディスプレイ、核医学ガンマ カメラからのデータ収集、分析、表示を目的としたアプリケーション開発用の広範なソフトウェア ライブラリが含まれていまし た。
ソ連のクローン
RT-11 のクローンがソ連でいくつか作られました。
- RAFOS (ロシア) – SM EVM
- FOBOS (ФОБОС) –エレクトロニカ 60
- フォドス (ФОДОС)
- ルドス(РУДОС)
- OS DVK (ОС ДВК) – DVK
- OS BK-11 (ОС БК-11) –エレクトロニカ BK
- MASTER-11 (МАСТЕР-11) – DVK
- NEMIGA OS (НЕМИГА) – ネミガ PK 588
参照
参考文献
- ^ “RT-11 - リリース履歴”. www.oshistory.net . 2007年9月28日時点のオリジナルよりアーカイブ。 2022年3月18日閲覧。
- ^ abcdef Campbell, Milton (1982 年 12 月)。「RT-11 の視点」。ハードコピー。
- ^ 「DEC RP02/RP03 デバイス ドライバーが含まれています」。Computerworld 1981年 7 月 20 日、p. 58。
- ^ 「3Com ソフトウェア ドライバー」。Computerworld 、 1981 年 10 月 26 日、p. 51。
- ^ 「Runoff がRSTS/E、RT-11 のテキストを洗練」。Computerworld 1978 年 9 月 25 日、35 ページ。
- ^ 「LEX-11 はすべての DEC オペレーティング システムで使用可能」。Computerworld 1981年 4 月 20 日、p. 59。
- ^ 「RT-11 上の PASCAL」。Computerworld 1980年 3 月 10 日、p. 102。
- ^ 「RT-11 システム メッセージ マニュアル」( PDF)。BitSavers 。
モニターの SQUEEZE コマンドを使用してボリュームを圧縮する
- ^ 「RT-11 システム ユーザーズ ガイド 1977」(PDF)。SQUEEZE
コマンドは、未使用のすべての領域を 1 つの領域に統合します...
- ^ 「Digital の RT-11 ファイル システム」。2013 年 10 月 20 日。2015 年1 月 1 日閲覧。
- ^ Google Scholar W. L. Palya; B. Brown (1981). 「RT-11 システム用グラフィックス ソフトウェアとハードウェア」.行動研究方法と計測. 13 (2): 255–261. doi : 10.3758/BF03207944 .
- ^ Mills, DL (1988). 「The Fuzzball」(PDF) . ACM SIGCOMM Computer Communication Review . 18 (4): 115–122. doi :10.1145/52325.52337 . 2009-05-06に閲覧。
- ^ ミルトン・キャンベル (1985 年 1 月)。「RT-11 の展望」ハードコピー (雑誌) 125 ページ。
- ^ abc 「S&H TSX-Plus on 11/23, 11/34」。Computerworld。1980年 12 月 1 日。p. 67。11
/23 および 11/34 ベースの最大 20 ユーザー向けの効率的な汎用タイムシェアリング...
- ^ 「TSX-Plus: Time Share RT-11」。ハードコピー(雑誌)。1982年10月。9ページ。
- ^ RT-11 インストールおよびシステム生成ガイド。マサチューセッツ州メイナード: Digital Equipment Corporation。1980 年 3 月。p. 1-6。
- ^ abcd RT-11 インストール ガイド(PDF) . マサチューセッツ州メイナード: Digital Equipment Corporation. 1991 年 8 月. pp. 1–2, 1–3.
外部リンク
- PDP-11 使い方ガイド(RT-11 コマンドリファレンス付き)
- Windows コンソール用の RT-11 エミュレーター
