RSX-11:リアルタイムOSの歴史
RSX-11は、
ディジタル・イクイップメント・コーポレーション(DEC)が開発したPDP-11シリーズ向けの
リアルタイムオペレーティングシステムファミリです。1970年代後半から1980年代前半にかけて、そのリアルタイム性能から
プロセス制御分野で広く利用されましたが、プログラム開発環境としても重宝されました。1972年にリリースされたRSX-11Dが最初のバージョンです。
RSX-11の誕生と進化
RSX-11のルーツは、PDP-15向けに開発されたRSX-15に遡ります。当初はDEX-15と呼ばれていたこのシステムは、後にRSX(Real-Time System Executive)という名称が与えられました。その後、Resource Sharing Executiveへと名称が変更されています。
1972年から1976年にかけて、Garth Wolfendale氏がプロジェクトリーダーとしてRSX-11Dの開発を指揮しました。この間には、22ビットアドレッシングをサポートしたPDP-11/70への対応も行われています。Wolfendale氏はイギリス出身であり、イギリスでIASの設計・開発チームを立ち上げ、タイムシェアリング機能をRSX-11に導入しました。
その後、David Cutler氏がRSX-11Dをより小型のマシンでも動作するようにしたRSX-11Mの開発を主導しました。RSX-11Mで導入された技術は、後のVMSにも採用されています。また、マイクロソフトのWindows NTは、概念的にはRSX-11Mの子孫と言えますが、より直接的には、Cutler氏が
RISCプロセッサ(PRISM)用に開発したOSがベースとなっています(このOSはリリースされませんでした)。
開発者、Dave Cutlerの言葉
「私の最初のOSプロジェクトは、16ビットのPDP-11シリーズで動作するRSX-11Mというリアルタイムシステムでした。…32KBのメモリで動作するマルチタスクOSで、階層型ファイルシステム、アプリケーションのスワッピング、リアルタイム・スケジューリング、開発ユーティリティを備えていました。このOSとユーティリティは、非常に小さいシステムからPDP-11/70のように4MBのメモリを搭載したシステムまで、PDP-11の全機種で動作しました。」
RSX-11の多様なバージョン
RSX-11には様々なバージョンが存在します。以下に主なバージョンをまとめます。
RSX-11A, C: 小型紙テープベースのバージョンです。
RSX-11B: RSX-11CにディスクI/O機能を追加したバージョンで、DOS-11を経由して起動します。
RSX-11D: マルチユーザーディスクベースのOSで、IASへと進化しました。
IAS: タイムシェアリング機能を強化したRSX-11Dで、DCL(DIGITALコマンド言語)を初めて導入しました。
RSX-11M: マルチユーザー版です。
RSX-11S: RSX-11Mのメモリ常駐版で、組み込みシステムで採用されました。
RSX-11M-Plus: RSX-11Mの拡張版で、マルチプロセッサのPDP-11/74をサポートする予定でしたが、その機種はリリースされませんでした。
RSX-20F: RSX-11Mをベースに、PDP-11/40をPDP-10のフロントエンドプロセッサとして利用する際に使われたOSです。
Micro/RSX: MicroPDP-11向けにプリインストールされたRSX-11M-Plusで、インストールは容易ですがカーネル再作成はできません。
P/OS: PDP-11ベースの
パーソナルコンピュータ、DEC Professional向けに改造されたRSX-11M-Plusです。
ソ連でのクローン版
ソビエト連邦では、RSX-11Mのクローンである
DOS/RV (ОСРВ-СМ) が開発されました。これはRSX-11Mのバイナリを直接修正したもので、プロンプトの変更のみで動作したとされています。RSX-11Mのソースコードがシステム生成に使用されていたため、複製は容易でした。
ОСРВは
ロシア語で「
リアルタイムオペレーティングシステム」を意味し、'OCPBCM'という6文字は16ビットRADIX-50ワードに収まるため、'RSX11M' と同様に扱われました。名称の残りのСМは「小型電子計算機システム」を意味し、PDP-11互換の「СМ ЭВМ」というマシンで動作しました。ただし、ハードウェアのわずかな違いから、RSX-11のバグをソ連の技術者が独自に修正したため、両者には差異がありました。
RSX-11の詳細な機能
RSX-11はリアルタイムOSとして、外部からの入力に規定時間内に応答する機能が備わっており、タスクの優先度設定やメモリへのロック機能がありました。仮想アドレス空間が64KBと小さかったため、洗練された半自動オーバーレイシステムを使用し、taskbuilder (TKB) というプログラムでプログラムのオーバーレイを生成していました。
RSXのプロンプトはDCL導入前は「>」または「MCR>」でした。コマンドは先頭3文字に短縮されており、例えば「HELLO」コマンドはログイン時以外は「HELP」コマンドと区別するため短縮できませんでした。
関連事項
RSTS/E
RT-11
外部リンク
*
Al Kossow posted some further notes on RSX-11 in alt.sys.pdp11.