RSTS (Resource Sharing Time Sharing System) の概要
RSTSは、
ディジタル・イクイップメント・コーポレーション (DEC) が
16ビットミニコンピュータ PDP-11 シリーズ向けに開発した、
マルチユーザー・タイムシェアリング
オペレーティングシステムです。1970年に最初のバージョンRSTS-11がリリースされ、その後RSTS/Eへと進化しました。RSTS-11とRSTS/Eは一般的に「RSTS」と総称されます。
開発の歴史
1970年代
初期 (1970-1973)
RSTSの
カーネルは
アセンブリ言語 MACRO-11 で記述され、DOS-11上で動作するCILUSプログラムで
インストール。
起動時には
BASIC言語の拡張版である
BASIC-PLUSが立ち上がります。
リソース管理やシステム管理などの
システムソフトウェアは
BASIC-PLUSで記述。
56KBの
磁気コアメモリで動作し、最大16
端末、17ジョブを同時実行可能。
RSTS/E の登場 (1973)
PDP-11/40と/45向けに
メモリ管理がサポートされたRSTS/Eがリリース。
メモリ容量が4倍(256KB)に拡大し、ユーザーモードプロセスと
カーネルの分離が可能に。
機能拡張 (1975)
22ビットアドレスの
PDP-11/70向けに
メモリ管理が改良され、2MBのメモリと最大63ジョブに対応。
RTSとCCLの概念が導入され、マルチ
端末サービスやプロセス間通信が強化。
インストール方法の変更 (1977)
RSTS
カーネルが
RT-11上でコンパイル可能になり、システムディスクへのコピーが容易に。
BASIC-PLUSのRTSが独立したユーザーモードプロセスとして動作。
メモリ管理の最終更新 (1978)
22ビットアドレスの全機種をサポートし、最大4MBのメモリに対応。
SUPERVISORYモードの導入や
DECnetのサポート。
1980年代
メモリ保護の導入 (1981)
Unibusマシン向けにユーザー空間の命令とデータの分離をサポート。
DCL RTSや
DECnet IIIをサポート。
MicroPDP-11への対応 (1983)
18ビット
PDP-11 (Micro
PDP-11)をサポート。
MicroRSTSとして低価格で販売。
ファイルシステムが更新(RDS1)。
RSTSの円熟期 (1985-1989)
DCLが主要RTSとなり、
ファイルシステムがRDS1.2に更新。
パスワードの暗号化、アカウント管理の柔軟化、LATプロトコルと
DECnet IVのサポート。
1990年代
PDP-11ソフトウェア事業の売却 (1994)
DECが
PDP-11のソフトウェア事業をMentecに売却。
Mentecにより、非営利の趣味的利用に限り無料
ライセンスを提供。
PC向け
PDP-11エミュレータの登場で、RSTSがパーソナルコンピュータ上で高速に動作。
機能と特徴 (RSTS/E version 10.1)
対話型タイムシェアリング:システムリソースの動的割り当て。
DCL (Digital Command Language):コマンドファイル処理、コマンド行編集、履歴機能。
CCL:システムマネージャが定義したコマンドインタフェース。
論理名:デバイスやアカウントに対するユーザー論理名とシステム論理名。
システムセキュリティ:アカウント毎の特権とリソース割り当て。
バッチサービス:DCLコマンドファイルの集中化バックグラウンド実行。
プリントサービス:集中化バックグラウンド印刷。
オペレータ/メッセージサービス:ユーザーやプログラムからのメッセージの送受信。
各種ファイル処理:ファイル共有、保護機構、仮想(メモリ)ディスクサポート。
DCLを使用したシステムアカウント管理。
磁気テープ処理。
端末ハンドラ:対話型環境向け。
共通コードの共有:頻繁にアクセスするディスク上のデータのソフトウェアキャッシュ。
タスク間通信:プロセス間通信。
バックアップ/リストア:ディスク全体やファイルの磁気テープへのバックアップとリストア。
SCSIアダプターとSCSIデバイスの一部機種でのサポート。
異なるディスク間でのボリュームコピー。
信頼性と保守性機能。
DCL、RT-11、RSX、BASIC-PLUSのRTSをサポート。
プログラム開発ツールと
通信機能を搭載。
運用
通信
オペレータとの通信には、シリアル接続(20mAカレントループ、RS-232インターフェース)、
DECnet、LAT (Local Area Transport) を使用します。
最大128
端末を接続し、最大63ジョブを同時実行可能です。
ユーザーはLOGINまたはHELLOコマンドでシステムに接続します。
ログインしていない
端末でコマンドを入力すると、自動的にLOGINプログラムが起動されます。
ログインには、PPN (Project Programmer Number) と
パスワードが必要です。PPNはプロジェクト番号とプログラマ番号で構成されます。
アカウント
各プロジェクトのプログラマ番号0はグループアカウントとして予約されています。
特別なプロジェクト番号として0(
システムソフトウェア用)と1(特権アカウント用)があります。Version 9以降は任意のアカウントに特権を付与できるようになりました。
ディレクトリ構造
`DIR` コマンドでファイル一覧を表示します。ファイルには、サイズ、保護属性、日付などが表示されます。ファイル名の先頭に付く `SY:` はシステムアカウントを表します。
実行時環境 (RTS)
RSTSでは、プログラムを実行するための環境として、RTS(Run-Time System)があります。
BASIC-PLUS、
COBOL、FORTRANなどが利用可能です。各RTSにはKBM (Keyboard Monitor) というコマンドラインインタフェースが備わっています。
システム管理者は、CCLコマンド群を
インストールすることで、KBMコマンド群に優先させることができます。
BASIC-PLUSで書かれたプログラムは、
BASIC RTS上で実行されます。プログラムはバイトコード(PCODE)に変換され、SAVEコマンドで拡張子.BACで保存されます。メモリは64KB中、32KBを
BASICプログラム用に利用可能です。
DCL (Digital Command Language)
バージョン9以降の主要RTSで、当時のDECのあらゆるOSと互換性があります。ドル記号 `$` がプロンプトです。
RSX (Realtime System eXecutive)
COBOL、マクロアセンブラ、
BASIC-PLUS 2で書かれたプログラムは、機械語の実行ファイルとしてRSX RTSで実行されます。RSX RTSは
カーネルに吸収されました。プロンプトは `>` です。
RT-11のシングルジョブ版をエミュレートした環境です。CUSPS (Commonly Used System Programs)のために56KBのメモリが利用できます。プロンプトは `.` です。
TECO (Text Editor and COrrector)
テキストエディタTECOはRTSとして実装されています。独自のKBMは持たないため、プログラムのように起動します。
エミュレーション
RSTSは以下のエミュレータで動作可能です。
ROSS/V (RSTS/E Operating System Simulator for VAX):
VAX上でRSTSのユーザーモードプロセスを実行。
Ersatz-11: Windowsや
Linuxで
PDP-11の命令セットをエミュレート。
SimH: 様々なプラットフォームで
PDP-11を含む様々なコンピュータをエミュレート。
バージョン履歴
RSTS-11:
PDP-11向けの最初のタイムシェアリングOS。BTSSからRSTSに改称。
RSTS/E:
メモリ管理サポートを追加し、新機種に対応。
その他
ソビエト連邦ではRSTSのクローンとして DOS-KP というOSが存在しました。
関連項目
DECnet
ケビン・ミトニック
タイムシェアリングシステム