| 開発者 | ユニバック |
|---|---|
| OSファミリー | TSOS |
| 作業状態 | 製造中止 |
| ソースモデル | 未知 |
| 初回リリース | 1960年代後半 |
| プラットフォーム | UNIVAC シリーズ 90 メインフレーム コンピュータ |
| デフォルトの ユーザーインターフェース | コマンドラインインターフェース |
| ライセンス | 独自 |
VS/9 は、 1960 年代後半から 1980 年代にかけて使用されたUNIVAC シリーズ 90メインフレーム(90/60、90/70、および 90/80)用のコンピュータ オペレーティング システムです。90/60 と 90/70 は、Univac 9700 コンピュータを再パッケージ化したものです。RCAがSperryに買収された後、RCA TSOSオペレーティング システムがUnivac の同等品よりもはるかに先進的であることが判明したため、同社は Univac ハードウェアと RCA ソフトウェアを統合し、90/70 を導入しました。90/60 は、その後まもなく、低速で安価な 90/70 として導入されました。90/80 が導入されて初めて、VS/9 は、同じコンピュータで対話型操作とバッチ操作の両方を可能にする機能を最大限に活用できるように最適化されたハードウェア プラットフォームを備えるようになりました。
背景
1971 年 9 月、RCA はIBMとの競争に挑んで (そして失敗して) 約 5 億ドルを失った後、メインフレーム コンピュータ事業から撤退することを決定しました。同社は当時Univacと呼ばれていたコンピュータ部門の資産のほとんどを売却しました。これにはRCAのSpectraシリーズのコンピュータ、さまざまな外部ハードウェア設計 (ビデオ端末、テープ ドライブ、パンチ カードリーダーなど)、およびそのオペレーティング システムであるTime Sharing Operating System (TSOS) が含まれていました。
TSOS は、ユーザーの観点からは IBM のどのオペレーティング システムよりも優れていたかもしれませんが、当時はオペレーティング システムはコンピュータとは別売りのものではなく、メーカーが購入価格の一部として無料で提供していました。Univac は TSOS にいくつかの新機能を追加し、名前を VS/9 に変更しました。ただし、「TSOS」という名前は、Unixタイプのシステムでは「root」と呼ばれるプライマリ特権 (システム マネージャ) アカウントのユーザー名として残りました。RCA は TSOS を後のFujitsuに販売し、これは Fujitsu の同名のメインフレーム上の BS2000オペレーティング システムの基礎となっています。
使用
インタラクティブな使用
VS/9 の対話型使用は、IBM がIBM 3270スタイルの端末で提供していた方法に似た方法で、端末コンセントレータ ユニットに接続された端末を通じて行われました。これにより、一般的に、PC で一度に 1 文字ずつ入力するのとは対照的に、Enter キーに応答して端末への入力が送信されるようになりました。コンセントレータ ユニットは、当初は通信制御モジュール (CCM) と呼ばれていました。しかし、RCA は CCM 端末コントローラの特許と設計をSinger Corporationに売却していたため、Univac は CCM 用のエミュレータ デバイスを開発し、Multiterminal Connection Controller モデル 16 (MCC-16) と呼ばれていました。
MCC-16 は、Univac 標準端末 (RCA 製) が Uniscope ビデオ ディスプレイ ターミナル (VDT) に改名されただけでなく、通常の ASCIIダム端末もサポートしていました。Univac の Uniscope VDT は、画面上のテキストを編集し、1 行または 1 ページずつ変更を加えて、そのテキストをコンピュータに送り返す機能など、当時としては高度な編集機能を提供しました。また、VDT はカーソルの直接配置と、カーソルの後のテキストのみが認識されることを示すカーソルによる入力保護もサポートしていました。また、画面のサブセット、つまり「ウィンドウ」での特別なスクロール モードもサポートしており、最後の行が表示されたときに画面全体が上方向にスクロールするのではなく、スクロール領域を画面の下半分だけにすることができました。
対話型 (タイムシェアリング) 端末とトランザクション端末は区別されていました。対話型端末はオペレーティング システムによって直接制御されますが、トランザクション端末はバッチ プログラムから制御されます。当初、このバッチ プログラムは、Multichannel Communications Program (MCP) として知られ、RCA および Sperry のバッチ指向オペレーティング システムである TDOS (Tape-Disk Operating System) および DOS (Disk Operating System) 用に開発されました。これらのオペレーティング システムよりも堅牢な対話型オペレーティング システムである VMOS が段階的に導入されることが明らかになると、MCP は VMOS 上で実行できるように移植されました。VMOS (Virtual Memory Operating System) は、RCA Spectra 70 モデル 46、61、3、および 7 コンピュータ上の TSOS の新しい名前となり、その後 Univac Series 70 (旧 RCA) コンピュータでも使用されました。
最終的に、MCP は Sperry Univac 端末をサポートするように拡張され、その名前は COS (Communication Operating System) に変更されました。CCM および後にエミュレーション モードで実行される MCC のポートは、対話型またはトランザクション型のいずれかに指定できますが、両方に指定することはできません。ポートが対話型ポートに指定されている場合、そのポートは VMOS または VS/9 オペレーティング システムに統合されたタイムシェアリング サービスによって制御されます。一方、トランザクション ポートは COS によって制御されます。これらのポートに接続されたすべての端末は、それぞれの制御ホスト ソフトウェアの「プロパティ」になります。タイムシェアリングはプログラム開発に使用され、当時の最先端であった従来のバッチ プロセスよりもはるかに高速なプログラム開発が可能になりました。各タイムシェアリング ユーザーはそれ自体がタスクであり、必要に応じてプログラムを実行したり、ファイルを作成したり、システム リソースを要求したりできます。これを可能にしたのは、オペレーティング システムの「仮想メモリ」管理機能、つまり使用されていないときにメモリ ページ (実行中のプログラムを含む) をディスクまたはドラムに一時的に保存し、後で必要に応じて取得する機能でした。仮想メモリ ページのサイズは 4096 バイトに固定されていました。これにより、限られた高価なメイン メモリ領域によって制限されるよりも多くのタスクを同時に実行できるようになりました。一方、トランザクション ユーザーはすべて 1 つのプログラムによって制御され、環境のビューは提示されたものに限定されていました。個々のタスクとして識別されず、プログラムを実行したりシステム リソースを要求したりすることはできませんでした。
エミュレーション モードで実行されている CCM と MCC は、「ダム」ハードウェア インターフェイスでした。つまり、端末ポーリング、エラー回復、メッセージ構築などのすべてのネットワーク プロトコル インテリジェンスはメインフレームに存在し、CCM と MCC は単にメインフレームと電話回線の間の導管として機能していました。MCC が真のフロントエンド プロセッサとして使用されて初めて、このオーバーヘッド (ポーリングやエラー回復など) の多くがメインフレームからオフロードされ、アプリケーション プログラムを実行するためのコンピュータ時間が解放されました。これは VS/9 時代まで実現しませんでした。
バッチ使用
VS/9 は 1 つ以上のカード リーダーをサポートしていました。カード リーダーはコンピューターに接続され、ユーザーがカード デッキをホッパーに入れて [開始] ボタンを押すと起動します。コンピューターはソース デッキを読み取り、読み取ったすべてのカードを出力ホッパーに配置します。カード デッキが有効なログインで構成されている場合は、カード デッキをジョブとして処理して実行します。
サイト運営
VS/9 は、中央サイトのコンピュータ オペレータによって制御されました。コンピュータ オペレータは、システム コンソールを介してシステムと対話しました。当初、このコンソールはテレタイプ デバイスでしたが、後にシステム コンソール プリンタが接続されたビデオ ディスプレイ デバイスにアップグレードされました。すべてのシステム コンソール メッセージは、システム コンソール プリンタに記録されました。オペレーティング システムから発信された非請求メッセージも、システム コンソール プリンタに記録されました。コンピュータ オペレータには、次のようないくつかの責任がありました。
- ブートプロセスを通じてシステムを初期化します。
- バッチ プログラム プロセスを開始します。
- サイトにトランザクション端末がある場合は、通信制御プログラム (MCP または COS) をロードします。
- パンチカードまたは磁気テープ経由で入力データを提供します。
- バッチタスクや対話型タスクの必要に応じて、リムーバブル ディスクやテープをマウント/マウント解除します。
- 実行中のジョブまたは入力キュー内のジョブに優先順位を付けます。
- システム パフォーマンスを最適化するために、バッチおよびインタラクティブ ターミナルの制限を調整します。
- オンサイトのローカル接続プリンタに用紙を供給します。
- システムの障害をベンダーの保守担当者に報告します。
- 顧客管理チームによって指定されたその他の職務を遂行します。
特徴
ボリュームグループ
VS/9 の終盤で特に役立つ機能強化の 1 つがボリューム グループでした。当時のディスク テクノロジでは、各ディスクのストレージ スペースが限られていました。ディスク ドライブは比較的大きく、かなり高価だったため、ディスク ドライブの製造元は、デバイスから実際のディスクを物理的に取り外して別のディスクと交換する機能を提供していました。そのため、顧客はディスク ドライブの容量の何倍ものストレージを利用できましたが、空きディスク ドライブが十分にない場合、必ずしも同時に使用できるとは限りませんでした。ディスク ストレージ スペースが限られているため、ユーザーには別の問題も発生しました。ファイルが 1 つのディスクに収まるサイズよりも大きくなることが非常に多くありました。ボリューム グループでは、ファイルを複数のディスクにまたがって使用できるため、この技術的な問題が軽減されました。同時にマウントする必要のあるボリューム (ディスク) は、「ボリューム グループ」と指定されました。所有者を定義して、機密データへのアクセスを制限することができます。マウントされてアクティブなタスクにアタッチされると、アタッチされているすべてのタスクがボリューム グループを解放するか終了するまで、ボリューム グループ全体をマウント解除することはできません。グループにボリュームが 1 つしかない場合でも、システムで使用可能なすべてのディスクがボリューム グループの一部でした。ボリューム グループは、取り外し可能または固定として指定できます。固定ボリューム グループは、いつでも削除することはできませんでした。これは、オペレーティング システムとトランザクション ターミナルをサポートするファイルを格納するディスクに必要でした。
リモートバッチ処理
リモート バッチ処理 (RBP) は VS/9 に存在した機能ですが、需要が限られていたため、完全に活用されることはありませんでした。RBP を使用すると、リモート ユーザーはメインフレームで実行するバッチ ジョブを送信し、その結果をオフサイトのプリンターで受け取ることができます。通常、リモート バッチ デバイスは、オペレーティング システムのリモート バッチ サービスとインターフェイスする通信回線に接続されたカード リーダーとプリンターで構成されます。ローカル バッチ ジョブと同様に、オペレーターはテープまたはディスクのマウント/マウント解除の要求や、質問に対する応答のプログラム プロンプトを受け取ることができます。
タスクの種類
VS/9 はタスク タイプ別にタスクを管理します。タスク タイプは、実行中のプログラムまたは保留中のタスクのキューのいずれかです。VS/9 で使用されるタスク タイプは次のとおりです。
- バッチ入力キュー
- バッチプログラムの実行
- アクティブなタイムシェアリングユーザー
- 印刷およびパンチスプール出力キュー
- 印刷やパンチを行う印刷・パンチ装置
- RBP出力キュー
- 未使用
- RBPデバイス印刷
MCP と COS は常にタイプ 2 のタスクでした。コンピュータ オペレータは、システム コンソールで各キュー内のタスクの数を確認できます。タスク キューの完全なリストは、管理者アクセス権を持つ任意の対話型端末から、「Stat200」と呼ばれる現場で作成されたプログラムを介して入手できます。このプログラムは、数秒ごとにタスク キューをスキャンし、中断または終了されるまで、端末画面にタスクのローリング リストを表示します。正式にリリースされた製品ではありませんが、タスク監視の事実上の標準になりました。
アカウントアクセス
VS/9 は、アカウント名とユーザー名を使用してアクセスを制御しました。アカウント名は 1 ~ 7 文字の識別子で、ユーザー名も 1 ~ 8 文字の識別子でした。アカウント名とユーザー名の識別子は、文字と数字のみでした。アカウント名は、Unix スタイルのユーザー アカウントのディレクトリ名に相当し、ユーザー名は、そのアカウントを共有しているユーザーがそのアカウントを使用している当事者であることを示すという点に注意してください。したがって、たとえば、アカウント名が S0103 で、そのアカウントに Pat と Leslie という名前を持つユーザーが 2 人いる場合、完全な識別子は S0103、PAT と S0103、LESLIE になります。これらのユーザーのファイルはすべてディレクトリ S0103 に保存されるため、同じ名前のファイルを作成することはできません。アカウント名がたとえば PA5 で、Pat という名前のユーザーがいる場合、そのユーザーの識別子は PA5、PAT になり、他の Pat という名前のユーザーとはまったく関係がなくなることに注意してください。
アカウントには、使用にパスワードが必要、ファイル数や使用量の制限、使用時間の制限 (午後 5 時以降または午前 8 時前のログオンのみを許可するなど)、CPU 制限などの制限を設定できます。また、ユーザーは、現在のセッションで一定時間以上の実時間または CPU 時間が使用されている場合に、システムにプログラムを中断させるコマンドを発行することもできます。
ログオンしていない端末でセッションを開始したいユーザーは、TransmitUnivac VDT の赤いキーを押すか、ASCII 端末で Control+を使用します。VS/9 は次の応答を発行します。C
- VS/9 端末システムへようこそ。ログオンしてください。
続いてスラッシュ ("/") が 1 つあり、Univac VDT の場合は、反転した色の大なり記号 (">") のようなプロンプト文字が続きます。ユーザーは、' logon という単語に続いて、自分の識別子 (アカウント名など)、カンマ、ユーザー名を入力してログオンします。アカウントにパスワードが設定されている場合は、カンマに続いてパスワードを入力します。パスワードは 1 ~ 4 文字です。パスワードに 1 つ以上のスペース (末尾のスペースは省略可能) が含まれている場合は、一重引用符で囲んで入力する必要があります。印刷できない文字やバイナリ文字が含まれている場合は、文字 X に続いて引用符と 8 文字の16 進数のパスワードを入力する必要があります。したがって、アカウント S0103 のパスワード (16 進数) が A0B0C0 でスペースが 1 つある場合、ユーザー LESLIE は次のように入力してシステムにログオンします。
- /LOGON S0103,LESLIE,X'A0B0C0'
アカウント名、ユーザー名、パスワードのいずれかが間違っているために資格情報が間違っている場合は、次のようなメッセージが表示されます。
- ログオンが無効です。もう一度お試しください。
再度ログオンするための / プロンプトが表示されます。
資格情報が正しい場合、システム マネージャ (アカウント$TSOSの所有者) がシステム メッセージを投稿していれば、この時点で表示されます。ユーザーはコマンド モードになり、さまざまなコマンドを入力できる標準の / プロンプトが表示されます。ユーザーは、Univac VDT で送信を押すか、 ASCII 端末で+を入力してセッションを終了します。 LOGOFFControlC
端末機能
Univac の VDT 端末には上部に 4 つのファンクション キーがあり、VS/9 はそれらを具体的に認識しました。
- F1 は、ASCII 端末のブレーク キーに相当します。プログラムが実行中の場合、中断され、ユーザーはブレーク モードに入り、コマンドを発行できます。R または INTR を入力すると、ブレークが行われた場所からプログラムの実行を再開できます。
- F2 と F3 は、さまざまな機能のためにプログラムによって認識されるように設定できますが、VS/9 では使用されませんでした。
- F4 キーを押すと、偶然または故意に押された場合、ユーザーは直ちに強制的にログオフされます。これは、MS-DOS で CTRL-ALT-DEL キーを押すのと同じで、マシンが直ちに強制的に再起動されます。
システムコマンド
VS/9 は、コマンドとオプションを入力することでコマンドを受け入れました。カードまたはバッチ ファイルとしてバッチ ストリームで発行されたコマンドは、その前にスラッシュを付ける必要がありましたが、端末で入力されたコマンドにはスラッシュを使用する必要はありませんでした。コマンドには次のものがありました。
- プログラムをロードして実行するEXEC
- LOADはプログラムをメモリにロードし、実行せずにコマンドモードに切り替えて、デバッグコマンドを許可します。
- 現在のセッションでバッチファイルを実行するには
- ENTERを押すと、カードリーダーに送信されたかのようにバッチファイルを実行します。
- 印刷出力の配置を指定するSYSFILE
- LOGOFF はセッションを終了します。端末を使用する場合、またはアカウントを変更する場合は、 と入力して、新しいログインを即時に要求することもできます。セッション中にユーザーが生成した印刷出力は、ライン プリンターにスプールされ、この時点で印刷されます。 または のように、オプション「TAPE」を使用すると、保留中の印刷出力を印刷するのではなく、磁気テープにスプールするように指定できます。要求はシステム オペレーターに送信されます。LOGOFF BUTLOGOFF TAPELOGOFF BUT,TAPELOGOFF TAPE,BUT
実行中のプログラムにブレークを発行した場合 (ASCII 端末の Break キーまたは Univac VDT の F1 キーを使用)、または EXEC の代わりに LOAD コマンドを使用した場合は、プログラムが一時停止され、ユーザーがコマンド モードになる「ブレーク モード」になります。上記のコマンドに加えて、次のコマンドも発行できます。
- R はブレークキーによって中断されたプログラムを再開します
- INTR をサポートするプログラムに割り込み再開を発行する INTR
- デバッグコマンド
- VS/9 には、メモリとレジスタを表示したり、プログラム エラーをトラップしたり、メモリを特定の場所に格納したりするコマンドを提供する Interactive Debugging Aid (IDA) が含まれていました。対話型デバッガーを使用するにはプログラムを実行するか、モジュールをプログラムにリンクする必要がある他のシステムとは異なり、IDA はオペレーティング システムの一部であり、そのコマンドはブレーク モードから使用できました。
- オペレーティング システムの問題をデバッグするのに非常に役立つがサポートされていない別の製品として、「CareCity」というプログラムがあります。VS/9 オペレーティング システムは、磁気テープ上の組み立て済みモジュールとして提供されました。インストール中、選択されたモジュールは、提供された構成パラメータに基づいてリンクされ、機能するオペレーティング システムを形成し、ディスクに保存されました。各モジュールの最後には指定された空き領域があり、エラーが発生した場合にモジュール全体を再組み立てせずに、既存のコードにパッチを適用するために使用されました。CareCity を使用すると、管理者は各オペレーティング システム モジュールの開始に対する相対アドレスを使用して、オペレーティング システムのメモリの内容を表示できます。必要に応じて、指定されたパッチ領域にパッチ コードを挿入し、既存のコードから新しくインストールされたコードへの分岐を挿入できます。 これはすべて、オペレーティング システムの使用中に実行できます。
ファイル名の規則
ファイル名は最大 56 文字まで使用できます。ファイルは、文字、数字、ダッシュ、および数字で構成できます。ファイル名はすべて数字で構成できますが、ファイルに 2 つの連続したピリオドを含めることはできません。別のアカウントのファイルにアクセスするには、そのアカウントのユーザーがファイルを公開する必要がありました。ファイルが公開されている場合、参照されているファイルが別のアカウントにあることを示すドル記号 ("$")、アカウント名、ピリオドをファイル名の先頭に付けることによって、別のユーザーがそのファイルにアクセスできるようになりました。
アカウント S0103 に「A」という名前のファイルがあり、アカウント PA5 のユーザーがアカウント S0103 のファイルにアクセスしたい場合、まず、そのファイルをパブリックとしてマークし、次にアカウント名とファイル名で参照する必要があります。したがって、アカウント PA5 のユーザーがアカウント S0103 のファイル A にアクセスしたい場合、そのファイルがパブリックであれば、 として参照します。アカウント S0103 のユーザーは、単に「A」としてファイルを参照することも、ドル記号と自分のアカウント名、ピリオドと名前の順に含めた完全修飾ファイル名$S0103.Aでファイルを参照することもできます。
特別アカウント TSOS のパブリック ファイルには、ファイルの最初の文字として$だけを使用してアクセスできます。ただし、ファイルがアカウント番号と同じ名前で始まっている場合は、明示的なアカウント参照$TSOS . が必要です。また、$TSOS . は、ユーザーのアカウントに見つからなかった、名前で参照される欠落ファイルのパス名と呼ばれます。たとえば、アカウント$TSOSに S0103.XYZZY というファイルがあり、そのシステムに S0103 というアカウントがある場合、そのファイルにアクセスするすべてのユーザーは . としてアクセスする必要があります。
$TSOS.S0103.XYZZY
TSOS は、ローカルに存在しない参照ファイルの「デフォルト」アカウントでもありました。たとえば、EDT エディタプログラムを実行するには、プログラムを実行するコマンド EXEC に続いて、EDT というファイル名を指定します。したがって、ユーザーが EDT という名前のファイルを作成していない場合は、次のように入力して EDT エディタを実行できます。
- /EXEC EDT
送信キーを押します。何らかの理由で同じ名前のプログラムを作成した場合、システムエディタを使用するには、次のように入力する必要があります。
- /EXEC $EDT
またはシステムアカウントを明示的に入力することもできます
- /EXEC $TSOS.EDT
Unisys が9000 シリーズ メインフレームの販売を中止し、代わりにEXEC 8シリーズ コンピュータの販売を開始したとき(おそらくコスト効率が悪くなり、メインフレームの市場が縮小したため)、VS/9 は事実上同社によって放棄されました。
参照
参考文献
- VS/9 ユーザーリファレンスマニュアル、Sperry Unisys、ニュージャージー州シナミンソン、1972
- VS/9 プログラマー リファレンス マニュアル、Sperry Unisys、ニュージャージー州シナミンソン、1975 年
