| RT-11 | |
|---|---|
| 開発者 | Digital Equipment Corporationおよび Mentec Inc. |
| 書かれた | マクロ11 |
| 作業状態 | 製造中止 |
| ソースモデル | クローズドソース |
| 初回リリース | 1973年6月 (1973-06) |
| 最新リリース | 1998年10月5日[ 1 ] (1998-10) |
| マーケティングターゲット | 実験室、科学、産業機器 |
| 入手可能な | 英語 |
| サポートされているプラットフォーム | PDP-11ファミリーとクローン |
| カーネルタイプ | モノリシック |
| デフォルトのユーザーインターフェース | キーボードモニター(KMON)コマンドラインインターフェース |
| ライセンス | 独自の |
RT-11(Real-time 11 )は、 Digital Equipment CorporationのPDP-11 16ビットコンピュータ全シリーズに対応した、小型でローエンドな[ 2 ]シングルユーザー向けリアルタイムオペレーティングシステムです。RT-11は1970年に初めて実装され、1973年6月にリリースされました。[ 3 ] PDP-11シリーズ全シリーズにおいて、リアルタイムコンピューティングシステム、プロセス制御、データ収集などに広く利用されました。また、低コストの汎用コンピューティングにも利用されました。[ 2 ]
RT-11はアセンブリ言語で記述されています。MACRO -11アセンブラの条件付きアセンブリ機能とマクロプログラミング機能を多用することで、高度な構成が可能になり、プログラマはマシンコードでは提供されていない高水準命令を指定できるようになりました。RT-11のディストリビューションには、コメントをすべて削除したオペレーティングシステムとデバイスドライバのソースコードと、ユーザーが指定した構成に従ってオペレーティングシステムとドライバを構築する「SYSGEN」というプログラムが含まれていました。開発者向けドキュメントには、コメント付きのカーネルリストが含まれていました。
RT-11ではデバイスドライバ[ 4 ] [ 5 ]はロード可能でしたが、V4.0より前はシステムデバイス(ブートデバイス)用のデバイスドライバはカーネル構成時に組み込まれていました。RT-11はデバイス制御やデータ収集によく使用されていたため、開発者がデバイスドライバを作成したり拡張したりすることはよくありました。DECはハードウェアサブシステム(バス構造からコードまで)をオープンにし、オペレーティングシステムの内部を文書化し、サードパーティのハードウェアおよびソフトウェアベンダーを奨励し、デジタル機器コンピュータユーザーズ協会の発展を促進することで、このようなドライバ開発を奨励しました。
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 [ 6 ]はドキュメント作成用でした。最後に、VTCOMはモデムを介して電話経由で他のコンピュータシステムに接続して使用(またはファイルの転送)するために使用されました。
このシステムは、現代のパーソナルコンピューティングの多くのタスクを処理できるほど完成度が高かった。他のPDP-11オペレーティングシステムで使用されているワードプロセッサパッケージのLEX-11やSaturn Softwareのスプレッドシートなどの生産性ソフトウェアもRT-11上で動作した。[ 7 ] RT-11用の大量の無償のユーザー提供ソフトウェアが、C言語の実装を含め、Digital Equipment Computer Users Society (DECUS)から提供されていた。アセンブリ言語プログラムの開発とデバッグのためのツールは提供されていたが、C、Fortran、Pascal、[ 8 ] 、そしてBASICのいくつかのバージョンを含む他の言語が、DECから「レイヤードプロダクト」として追加料金で提供されていた。これらのプログラミング言語やその他のプログラミング言語のバージョンは、他のサードパーティからも入手可能であった。RT-11マシンをDECNET、インターネット、および他のサードパーティによって開発されたプロトコルを使用してネットワーク化することさえ可能である。
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は、 RADIX-50でエンコードされた6文字のファイル名と3文字の拡張子(6.3)を採用した、シンプルで高速なファイルシステムを実装しました。RADIX-50では、これらの9文字が3つの16ビットワード(6バイト)に圧縮されていました。これにより、ファイル名に使用できる文字は「A」~「Z」、「a」~「z」(大文字に変換)、「0」~「9」、「$」、「%」、「*」となりました。ファイル名の先頭にデバイス名を付加することで、デフォルトのDK:デバイス(これもRADIX-50でエンコードされています)とは異なるデバイスを指定することができました。
すべてのファイルは連続しており、各ファイルはディスク上の連続したブロック(ディスクストレージの最小アドレス単位である512バイト)を占めていました。つまり、ファイル全体を非常に高速に読み書きできました。このファイルシステム構造の副作用として、時間の経過とともにボリューム上でファイルが作成および削除されると、未使用のディスクブロックが連続しなくなる可能性が高く、これが大きなファイルの作成を制限する要因となる可能性がありました。この対策として、定期的にディスクを「圧縮」(または「押しつぶす」)して未使用部分を統合しました。[ 9 ] [ 10 ]
各ボリュームには、ボリュームの先頭に事前割り当てられたディレクトリが1つだけあります。ディレクトリは、ファイルまたは未割り当て領域ごとに1つのエントリの配列で構成されます。各ディレクトリエントリは8ワード(またはそれ以上)の16ビットワードですが、システム生成オプションを使用することで、アプリケーション固有の追加ストレージも使用できます。[ 11 ]
多くの RT-11 プログラム (特殊な周辺機器やハードウェアへの直接アクセスを必要としないプログラム) は、RSTS/Eタイムシェアリング システムの RT=11 RTS (ランタイム システム)を使用して、または RSX-11 とVMSのさまざまなリリース上の RTEM (RT エミュレーター) の下で直接実行できます。
RT-11用のDCLの実装により、他のDECオペレーティングシステムとの互換性が向上しました。各オペレーティングシステムには独自のコマンドとオプションがありましたが、共通するコマンドとコマンドオプションもいくつかありました。
DECは、リアルタイム機能を備えたマルチユーザー・マルチタスク・オペレーティングシステムであるRSX-11Mと、マルチユーザー・タイムシェアリングシステムであるRSTS/E (当初はRSTS-11という名称)も販売していましたが、リアルタイム応答が求められるデータ収集システムでは、RT-11が依然として主流のオペレーティングシステムでした。Unixオペレーティングシステムも人気を博しましたが、RT-11のようなリアルタイム機能と非常に小型なサイズは備えていませんでした。
RT-11は、 QバスベースとUnibusベースの両方のDEC PDP-11ファミリーの全機種で動作しました。さらに、同じくDECのProfessionalシリーズおよびPDT-11「Programmed Data Terminal」システムでも動作しました。PDP-11アーキテクチャは、他社の代替製品(例:MentecのM100シリーズ)や、他国でリバースエンジニアリングされたクローン(例:ソ連のDVK)に実装されたため、RT-11はこれらのマシンでも動作します。
CalCompプロッタなどの周辺機器のドライバサポートを追加するには、[ 12 ]通常はファイルのコピーが必要で、SYSGENは必要ありませんでした。[ 2 ]
インターネットプロトコル用のルーティングソフトウェアであるFuzzballは、 RT-11プログラムを実行することができました。[ 13 ]
HAMMONDsoftwareは、初期のマルチコンピュータシステムであるSTARelevenや、VAX/VMSオペレーティングシステムからアーキテクチャコンセプトを一部借用したRT-11のマルチプロセス/マルチユーザー実装であるSHAREplusなど、RT-11互換のオペレーティングシステムを多数配布しました。動作にはRT-11デバイスドライバが必要でした。ネットワークオプションにより、他のPDP-11およびVAX/VMSへの透過的なデバイスアクセスがサポートされました。限定的にRSX-11アプリケーションとの互換性も提供されていました。SHAREplusはヨーロッパで最も強力なユーザーベースを誇っていました。
S&H Computing社が開発したTSX-11 [ 14 ]は、RT-11のマルチユーザー、マルチプロセス実装でした。TSX-11が実行できなかった唯一の機能はブートプロセスの処理でした。そのため、TSX-Plusマシンは、TSX-Plusをユーザープログラムとして実行する前に、まずRT-11を起動する必要がありました。TSX-Plusが実行される際には、RT-11からマシンの完全な制御を引き継ぎます。TSX-Plusは、ユーザーを他のユーザーから完全に保護し、ユーザーアカウントを提供し、ディスクボリューム上のアカウント分離を維持し、RT-11 EMTプログラム要求のスーパーセットを実装しました。
S&H社がオリジナルのTSXを書いたのは、「1ユーザーしかサポートできないコンピュータに2万5千ドルを費やすのは[創業者のハリー・サンダース氏を]困惑させた」ためであった。その結果、1976年に最初の4ユーザーTSXが誕生した。[ 15 ] TSX-Plus(1980年リリース)は、1976年にリリースされたTSXの後継機である。 [ 15 ]このシステムは1980年代に人気を博した。RT-11プログラムは通常、変更せずにTSX-Plusで実行でき、実際、ほとんどのRT-11ユーティリティはTSX-Plusでそのまま使用できた。デバイスドライバは通常、わずかな変更のみで済んだ。
PDP-11のモデルとメモリの量に応じて、システムは最低12人のユーザーをサポートできます[ 15 ](2Mb 11/73では、ワークロードに応じて14〜18人のユーザー)。[ 16 ] TSX-Plusの最後のバージョンではTCP/IPがサポートされていました。
ユーザーは、マルチタスク、メモリ サイズ、および個別の I および D (命令とデータ) アドレス空間 のサポート レベルの異なるバリアントから選択できます。
RT-11 をベースにしたいくつかの特殊な PDP-11 システムが販売されました。
RT-11 のクローン製品がソ連でいくつか作られました。
モニターのSQUEEZEコマンドを使用して音量を圧縮する
コマンドは、未使用の領域をすべて 1 つの領域に統合します...
11月23日と11月34日に最大20ユーザーに対応する、効率的で汎用的なタイムシェアリング。