RSX-11

RSX-11は、ディジタル・イクイップメント・コーポレーション (DEC) が開発したPDP-11シリーズ向けのリアルタイムオペレーティングシステムファミリで、1970年代後半から1980年代前半によく使われていた。1972年にPDP-11/40向けにリリースされたRSX-11Dが最初である。プロセス制御が主な用途だったが、プログラム開発にもよく使われた。
概要.
RSX-11の前身として、Dennis J. Brevik がPDP-15向けに設計した RSX-15 がある。Brevik によれば、当初はDEX-15と呼んでいたという。また、RSXは "Real-Time System Executive" の頭字語だという。ただし後に "Resource Sharing Executive" の頭字語に変更された。
Garth Wolfendale がプロジェクトリーダーとなって、1972年から1976年まで RSX-11D の開発とリリースを指揮した。その間に22ビット・アドレッシングのPDP-11/70サポートも行っている。Wolfendale はイギリス出身であり、イギリスでIASの設計・開発チームを立ち上げ、タイムシェアリングシステムの機能をRSX-11に導入した。その後は Andy Wilson がイギリスでの開発とIASのリリースを引き継いだ。
デヴィッド・カトラーは RSX-11D をさらにメモリ容量の小さいマシンで動作可能にする RSX-11M の開発リーダーを務めた。RSX-11M で導入された新方式は、後のVMSにも採用された。マイクロソフトの Windows NT は概念的には RSX-11M の子孫に当たるが、より直接的にはRISCプロセッサ () 用のカトラーが開発を指揮したOSがベースとなっている。ただしそのOSはリリースされなかった。この流れは、Helen Custer の著作 "Inside Windows NT" でカトラーが書いた序文にてよく説明されている。
私の最初のOSプロジェクトは、16ビットのPDP-11シリーズで動作するRSX-11Mというリアルタイムシステムだった。…32KBのメモリで動作するマルチタスクOSで、階層型ファイルシステム、アプリケーションのスワッピング、リアルタイム・スケジューリング、開発ユーティリティを備えていた。このOSとユーティリティは、非常に小さいシステムからPDP-11/70のように4MBのメモリを搭載したシステムまで、PDP-11の全機種で動作した。 — Dave Cutler
バージョン.
RSX-11 には様々なバージョンがある。
詳細.
RSX-11は汎用タイムシェアリングシステムとしても使われたが、その用途にはRSTS/Eがあった。RSX-11はリアルタイムOSであるため、周辺機器からの入力に対して所定の時間内に応答するという機能が備わっていた。システム立ち上げ時にタスクをメモリ上にロックする機能や、タスクに優先度を割り当てる機能もある。
64KBというPDP-11の相対的に小さい仮想アドレス空間で大きなプログラムをサポートするため、洗練された半自動オーバーレイシステムを使用している。taskbuilder (TKB) というプログラムを使って、任意のプログラムのオーバーレイを生成する。オーバーレイの構成が複雑になるほど、その生成には時間がかかる。
DCLが導入される以前、RSXのプロンプトは ">" か "MCR>" だった。"MCR"は "Monitor Console Routine" の略である。全てのコマンドは入力にあたって先頭3文字に短縮でき、そのために先頭3文字のみで識別できるよう名付けられていた。ログインコマンドの "HELLO" はログインしていない状態でのみ実行可能である。"HELLO" は短縮できない。というのも、ログインしていない状態で "HEL" と入力すると "HELP" コマンドが実行されるためである。