| システムサポートプログラム(SSP) | |
|---|---|
TN5250 クライアント内に表示される SSP 7.5 のメイン メニュー | |
| 開発者 | IBM |
| 作業状態 | 製造中止 |
| 初回リリース | 1977 (1977年) |
| サポートされているプラットフォーム | System/34およびSystem/36ミニコンピュータ |
| デフォルトのユーザーインターフェース | コマンドラインインターフェース |
| ライセンス | 独自の |
| 先行 | System/32システム制御プログラム (SCP) |
| 後継者 | OS/400 |
システム・サポート・プログラム(SSP)は、 IBM System/34およびSystem/36ミニコンピュータのオペレーティングシステムである。SSPは1977年にリリースされた。 [ 1 ]
歴史
この記事の文体やスタイルは、Wikipedia で使用されている百科事典的な文体を反映していない可能性があります。より良い記事を書くための( 2022年6月) |
SSPは元々約60個のコマンドで構成されており、1977年から1983年にかけてリリースと呼ばれる様々なバージョンでSystem/34に実装されました。リリース1は1977年に最初のS/34とともに発行されました。リリース9は1981年に発行されました。1983年、IBMはIBM System/36と呼ばれる新しいコンピュータにSSPを再パッケージ化しましたが、このコンピュータはS/34とオブジェクトコード互換性がありませんでした。1994年、IBMはS/36の更新モデルであるAdvanced/36にSSPを再パッケージ化しました。A/36はIBM AS/400であり、SSPは「仮想マシン」として実装されていました。
SSP の主なリリースは次のとおりです。
- S/34
- S/34リリース1.0 – これは1977年に最初のS/34とともに出荷されました。[ 1 ]
- S/34 リリース 8.0 – これは 1980 年頃に発行されたようです。
- S/34 リリース 9.0 – これは 1980 年頃の S/34 の最後のリリースでした。
- S/36
- S/36 リリース 1.0 – これは 1983 年に最初の S/36 とともに出荷されたようです。
- S/36 リリース 2.0 – このリリースでは 8809 テープ ドライブがサポートされました。
- S/36 リリース 4.0 – このリリースでは、S/36 に 5 つのジョブ キューが与えられました。
- S/36 リリース 5.1 – この 1988 年のリリースは、536X プラットフォームにおける最後の大きな変更でした。
- S/36リリース6.0 – VASP(付加価値サポート製品)としても知られるこのリリースでは、RPGでのプログラム呼び出しを可能にする機能が追加され、アップグレード時に必要なAS/400の容量を計算するソフトウェアも提供されました。VASPは物議を醸しました。業界紙では、6.0が適切に機能しない場合、顧客は5.1に戻れないという噂が広まりました。RPG CALL/PARMによるプログラム呼び出しは、RPGIIIの設計や顧客向けアドオン製品に比べて劣っていました。
- S/36 リリース 7.1 – この1994年のリリースは、Advanced/36 (9402-236 モデル) に同梱されていました。初期の A/36 マシンは、それより低いリリースでは動作せず、7.5 とも互換性がありませんでした (技術的には、7.1 マシンのプログラム オブジェクト コードは 7.5 で動作し、その逆も同様です。また、多くの 9402-236 は 9402-436 にアップグレードされ、マザーボードを交換して新しい LIC コードをインストールし、ファイルのコピーを復元すれば、すべて正常に動作しました)。以前のリリースのコンパイラは Advanced/36 では動作しないという噂が広まりましたが、これは根拠のないものでした。プログラマーが、おそらくより高度な 7.x コンパイラではなく、 5.1 RPGIIコンパイラを好む理由がいくつかありました。
- S/36リリース7.5 – 1995年にリリースされたこのリリースは、Advanced/36(9402-436)の第2弾にして最終版として出荷されました。WRKSYSVLなどの関数により、オペレータはシステム時刻をリアルタイムで変更することができました。これは興味深い機能でした。なぜなら、アセンブラサブルーチンを介してこれを行う顧客向けアドオンはAdvanced/36では動作しなかったからです。しかし、ファイルのオープン/クローズやVTOCの取得などを行うアセンブラルーチンは、7.1と7.5で問題なく動作しました。
- Guest/36 – これはリリース7.5ですが、AS/400(OS/400 V3R6からV4R4まで)上にM36(ゲスト)をセットアップすれば、9402-436と同様に動作します。ただし、ゲスト「パーティション」に加えて、必要に応じてOS/400も使用できます。つまり、2102、2104、2106(後者はベースマシンの約2.7倍の速度)の3種類の速度で提供されていた9402-436では速度が足りない場合は、9406-xxxマシンを入手して「guest/36」をインストールできます。実際には、guest/36は複数インストール可能です。接続ワークステーションの数には若干の制限がありましたが、AS/400上で2台のGuest/36を動作させ、それらの間にDDM(分散データ管理)を構築し、OS/400で大容量ファイルをホストすることも容易に可能でした。S/36とA/36はほとんどの場合、Twinax接続の端末でのみ動作していましたが、Guest/36(またはM/36)では、すべての端末をTCP/IPで動作するLANに接続し、Guest/36環境内の仮想デバイスとして動作させることができました。
- S36EE(S/36実行環境) – これはAS/400およびその後継機種(iSeries、IBM i)でネイティブサポートされており、ユーザーはS/36プログラムやプロシージャを変換することなく引き続き実行できます。多くのシステムプロシージャもS36EEで動作します。通常は追加の手順を踏む必要があるため「遅い」とされていましたが、今日の高速マシンでは、S36EEの速度はA/36の実行速度を何倍も上回っています。例えば、あるジョブの実行はAdv/36では12分かかりましたが、S36EEモードでは20秒かかりました。ただし、オブジェクトコードは以前のS/36およびA/36と互換性がないため、すべてのプログラムとメニューを再コンパイルする必要がありました。しかし、S36EEの利点の一つは、S36EEだけでなくOS/400アプリケーションも実行できることです。S/36プログラムからデータベーステーブルにアクセスしたり、S/36プログラムからRPG/400やRPGIVプログラムを呼び出すことができます。したがって、技術的には SSP ではありませんが、SSP のように見え、SSP のように動作し、S/36 プログラム/プロセスを実行します。
S/36、A/36、M/36オペレーティングシステムの制限事項:システムが利用できるディスク容量は、オペレーティングシステムの実行ごとに最大4GBでした。つまり、2つのM36「パーティション」を実行するマシンでは、それぞれ4GBのディスク容量を持つことになります。もう一つの制限事項はプログラムサイズで、64KBを超えることはできませんでした。これを超えるプログラムを実行する場合、call/parmが導入された後には、コードを呼び出し先プログラムに移動させるなど、工夫が必要でした。例えば、ベースプログラムが63KBであれば、20KBの呼び出し先プログラムを簡単に呼び出すことができたからです。また、マシン上には約8,000個以上のファイルを置くことができませんでした。プログラムに取り込めるファイル数にも制限がありました(これも、呼び出し先プログラムにファイルを配置し、結果を渡すことで回避できました)。最初にロードできるレコードの最大数は約800万件、1つのファイルに保持できるレコードの最大数は約1600万件でした。S36EEにはこれらの制限はありません。 (プログラム内のファイルの最大数は限られていますが、ネイティブ SSP よりもはるかに多くなっています)。
機能とコンポーネント
SSP を使用すると、オペレーターは、ライブラリ、データ ファイル、メニュー、プロシージャ、ソース メンバー、セキュリティ ファイル などの S/34-36 オブジェクトを作成、削除、管理できます。
SSPには、DFU、SEU、 SDA 、WSUなどのモジュールが含まれており、オペレータはこれらのモジュールを使用してライブラリやファイルを作成し、それらのファイルに情報を入力し、簡単なレポートを作成し、情報へのアクセスを簡素化するメニュー構造を維持できます。Advanced/36はWSUをサポートしていません。パスワードとリソースのセキュリティもSSPを通じて実装されており、今日のダイヤルアップネットワークに類似したリモート通信もSSPを通じて実装されています。
SSPはディスクベースのオペレーティングシステムです。コンピュータプログラムは固定ディスクから実行できますが、ディスケットやテープからは実行できません。System/34 5340またはSystem/36 5360/5362は、1~4台の固定ディスク、少なくとも1台のコンピュータ端末、そして8インチのディスケットドライブで構成される固定ディスクアレイです。オプションで、10枚のディスケットを収納できるマガジンユニット2台と、3つのディスケットスロットを装備できます。AS/36 5363/5364は5-1/4インチのディスケットドライブを搭載しています。 S/36 コンピュータは、8809 リール式テープドライブ(800/1600 bpi) または 6157 1/4 インチカートリッジ (QIC) テープドライブで構成できます。A/36 コンピュータには高密度 QIC ドライブが搭載されていますが、5.25 インチまたは 8 インチディスケットドライブ (シングル) はオプションで、9348-001 9 トラック (リール式) 1600/6250 bpi テープドライブもオプションでした。
システムユーティリティプログラム
SSPプロシージャはユーティリティプログラムを利用しますが、コンピュータプログラマにとって、SSPプロシージャ自体よりもユーティリティプログラムの方が有用な場合もあります。$MAINTはライブラリユーティリティであり、ALOCLIBR、BLDLIBR、FROMLIBR、LIBRLIBR、REMOVE、CONDENSE、LISTLIBR、およびTOLIBRで使用されます。$COPYはファイルユーティリティであり、 SAVE、RESTORE、COPYDATA、およびLISTDATAで使用されます。$FBLD、$LABEL、$DUPRD、 $ INIT、 $ DELET、 $ HIST、$CNFIG、#GSORT、$PACK、および$PROFなど、関連するSSPプロシージャよりもプログラムレベルで柔軟性の高いユーティリティも多数あります。
CNFIGSSPを使用した設定
CNFIGSSPプロシージャは、デバイスを含むシステムの設定に使用されました。各デバイスには2文字のIDが割り当てられます。最初の文字はアルファベット、2番目の文字は英数字でなければなりません。また、システムは特定のIDを予約しています。例えば、デバイスを I1 や F1 のように呼ぶことはできません。I1 はフロッピーディスクドライブの名前で、F1 はシステムがハードドライブと呼ぶものです(リムーバブルディスクパックではないため、「固定ディスク」の略です)。
CNFIGSSP を適用するには、システムが専用状態(他のユーザーがログオンしていない状態、またはプログラムが実行していない状態)である必要があります。システムは IP Led 状態(再起動)である必要があります。IPL が完了すると、新しいデバイスがステータスディスプレイに表示されます。
SDA - スクリーンデザイン支援
SDAを使用すると、オペレーターは画面フォーマットやメニューを作成できます。コマンドキーの有効化/無効化も可能です。入力フィールド、出力フィールド、定数を作成し、条件を設定することもできます。条件(RPGではインジケーターと呼ばれます)によって、フィールドを非表示にしたり、色を変更したりできます。
SEU - ソースエントリユーティリティ
SEUは、行単位でデータを入力できる テキストエディタです。RPGプログラムやその他のフォームベース言語(WSU、Sort、SDAなど)の入力を支援するために、専用のフォームが用意されています。
SORT - システムのソートユーティリティ
SORTは1~8個の入力ファイルを持ち、有効なレコード長は任意です。出力ファイルは1個で、任意の長さで、0~800万件以上のレコードを格納できます。
ソートには、レコード全体、または関連ファイル内のレコードを指す3バイトのアドレスのみが含まれます。これはアドレスアウトファイル、またはADDROUTと呼ばれていました。Addルートを使用する場合、プログラムはこれらの3バイトのアドレスを読み取り、マスターファイルから関連レコードを取得します。
WSU - ワークステーションユーティリティ
これはSSP上で動作するRPG風の言語で、データ入力系のプログラムに特化していました。WSUは無料でしたが、機能が制限されていたため、あまり好評ではありませんでした。
DFU - データファイルユーティリティ
これは、個々のレコード内のフィールド値を表示および変更するために使用される、IBM 提供の無償アイテムです。
DFUが使用可能
- プログラマーがプログラムを書かずにデータベースファイルを即座に更新できるようにする
- プログラマーがデータベースファイルで基本的な操作を実行するための簡単なプログラムを作成するために
- データ入力担当者がファイルにレコードを追加または削除したり、レコードを印刷したりするために使用します。
プログラミング
運用制御言語(OCL)
高水準言語プログラムを実行するには、 OCLの有効化が必要です。OCL は、プログラムをシステムのメモリにロードして起動(実行と呼ばれるプロセス)し、ディスクファイル、プリンタ、メッセージメンバー、メモリ、ディスクスペースなどのリソースをプログラムに割り当てるために使用されます。また、画面へのテキスト表示、メッセージの一時停止などの機能により、OCL はさらに強力になります。
RPG II
RPG IIはSystem/3時代から改良され、「WORKSTNファイル」へのアクセスが可能になりました。これにより、パンチカードベースの言語がキーボードとモニターの前に座っているユーザーと対話できるようになりました。WORKSTNファイルは出力ファイル(モニターに書き込む)であると同時に、入力ファイル(ユーザーのキーボード入力を受け入れるため)でもありました。そのため、複合プライマリファイルまたは複合デマンドファイルと呼ばれていました。
コマンドキーはRPGインジケーターのKA-KYとなり、画面上の異なるフォームはフォーム自体に隠された異なる制御文字によって認識されました。ユーザーは入力するために画面上にフォームを表示する必要があるため、RPG IIはプログラムが入力を受け入れる前に出力を書き込む方法を提供しました。多くの優秀なプログラマーは、複合プライマリWORKSTNファイルの使用から、画面の読み取りと書き込みを行う命令コードを持つ複合デマンドファイルの使用に移行しました。複数のWORKSTN用にコーディングする方法さえあり、複数の人がメモリ内の同じプログラムの同じコピーにサインオンすることができました。プログラムの最大サイズは64KBでした。
プログラム属性 - MRT、SRT、NRT、NEP
MRT = マルチプル・リクエスター・ターミナル・プログラム。SSPは、1つのプログラムに最大7台の端末を接続できます。どのオペレーターも自分の端末でプログラムを開始でき、他のオペレーターが同じプログラムを選択すると、他のオペレーターの端末も接続されます。サービス対象となる端末の最大数は、プログラマによって制御できます。
SRT = シングルリクエスターターミナルプログラム。MRTではありません。
NRT = 要求元端末なしプログラム。端末で起動されたNRTは、要求元の端末を解放して処理を続行します。これはMS-DOSのTSR(Terminate and Stay Resident)プログラムに似ています。定義上、JOBQに呼び出されたプログラムまたはJOBQにサブミットされたプログラムはすべてNRTです。
NEP = ネバーエンディングプログラム。これは通常、すべての端末が切断された後、いずれかの端末が再接続されるまで待機し、初期化のオーバーヘッドを回避する対話型MRTプログラムです。これは、大規模なプログラムを、端末を次々に受け渡しながらも、他の端末や後続のトランザクションの処理を継続できる小さなプログラムのチェーンとして実装するためによく使用されました。NRTプログラムは、ループして何らかの条件が満たされるまで待機するように記述されている場合、NEPにもなり得ます。NEPプログラムは、特別な終了条件を認識するように記述されていない限り、通常、システムがシャットダウンするまで終了しません。
オブジェクトコード形式
COBOL、Fortran、RPGはオブジェクトコード(タイプO)を生成しました。Basicはインタプリタのみで、BASICSと呼ばれるコンパイルユーティリティがサブルーチンコード(タイプR)を作成しました。Basicプログラムは他のコンピュータとの互換性を保つためにソースコードとして保存できましたが、プロジェクトのテキストはサブルーチン内に保存されていました(ただし、プログラマがLOCKパラメータを使用してテキストを非公開にした場合は除きます)。
OCLを使用してプログラムを起動し、リソースを割り当てる プロシージャは、タイプ P です。
すべてのオブジェクトのソース メンバーは、上記で指定した Basic を除き、タイプ S です。
DFUプログラムはサブルーチン(R)コードを生成しました。WSUプログラムも同様です。
生成されたオブジェクト コードを画面にフォーマットします。
メニューはオブジェクトコードを生成します。メニューとは、対応する番号が選択されたときに実行されるアクションを記述する、2つのポンド記号("##")が末尾に付いたメッセージメンバーを持つ、非常に特殊な画面フォーマットです。
人気のSSPアプリケーション
- プログラマーとオペレータの生産性向上支援ツール(POP)は、広く利用されていた開発プログラムで、Advanced 36に搭載されていました。
- MAPICS、製造・生産情報管理システム。
- IMAS、シンプルな会計パッケージ
- より高度な会計システムであるBPCS
- IBM Office/36プログラム群(DisplayWrite/36、IDDU、Queryなど)は1980年代後半に人気を博し、後にAdvanced/36にバンドルされました。System/34テキストエディタはOffice/36の前身でした。
- Britz ワード プロセッシング システムは、差し込み印刷、ラベル、基本的なファイル編集機能を備えた汎用テキスト エディターでした。
システムセキュリティ
SSP システムには 4 種類のセキュリティがあります。
- バッジのセキュリティ。
- パスワードのセキュリティ。
- リソースのセキュリティ。
- メニューのセキュリティ。
バッジセキュリティは、5250シリーズ端末に接続されたストライプリーダーデバイスを使用して実装されます。ログインするには、ユーザーはユーザー名とパスワードを入力するだけでなく、バッジをリーダーに通す必要があります。
SECEDIT
SECEDIT プロシージャは、ユーザーIDとパスワードの処理に使用されました。ユーザープロファイルには、1~8文字の英数字からなるユーザーID、4文字の英数字からなるパスワード、ユーザーのセキュリティレベルを表すコード(M(マスター・セキュリティ・オフィサー)、S(セキュリティ・オフィサー)、O(システム・オペレーター)、C(サブコンソール・オペレーター)、D(ディスプレイ・ステーション・オペレーター)、およびその他のデフォルト設定が含まれています。
SECEDIT RESOURCE プロシージャは、ファイル、ライブラリ、フォルダ、およびグループオブジェクトのセキュリティレベルを確立するために使用されました。ユーザーには、特定のリソースに対するアクセスレベルとして、O (所有者)、C (変更)、U (更新)、R (読み取り)、E (実行)、または N (なし) を付与できました。グループオブジェクトは、1つ以上の下位オブジェクトを所有する一種の持株会社でした。例えば、グループ ACCOUNTG へのアクセスを許可すると、すべての会計ファイルへのアクセスを容易に確立できました。グループオブジェクトはグループファイルを参照することもできました。グループ UB は、UB.OLD、UB.NEW、UB.01、またはピリオドが埋め込まれた任意のファイル名を参照していました。
SECEDIT USERIDは、ユーザーの操作権限を特定のメニューに制限するためにも使用されました。必須メニューにYを入力し、デフォルトのサインオンメニューを指定することにより、セキュリティ担当者は、そのサインオンメニューにないプログラムへのアクセスをユーザーに許可しませんでした。このように制限されたユーザーは、メニューオプションの実行、メッセージの送信、システムからのサインオフのみを実行できました。
その他の手順
PROF(「プロファイル」)プロシージャは、ユーザーIDとパスワードの処理に使用されていました。ユーザープロファイルには、1~8文字の英数字からなるユーザーID、4文字の英数字からなるパスワード、ユーザーのセキュリティレベルを表すコード(M(マスターセキュリティオフィサー)、S(セキュリティオフィサー)、O(システムオペレーター)、C(サブコンソールオペレーター)、D(ディスプレイステーションオペレーター))、およびその他のデフォルト設定が含まれています。
PRSRCID(「ユーザーIDによるリソースセキュリティのプロファイル」)手順は、ファイルおよびライブラリオブジェクトのセキュリティレベルを確立するために使用されました。特定のリソースに対して、ユーザーにO(所有者)、G(変更)、R(読み取り)、E(実行)、またはN(なし)のアクセスレベルを付与できました。
印刷されたディスク カタログ (VTOC、ボリュームの目次) には、保護されているすべてのオブジェクトが、保護されていることを示す 3 という表記で表示されていました。
ファイル、ライブラリ、フォルダ
SSPは、ファイルとライブラリと呼ばれる2つの異なるデータオブジェクトを提供します。ファイルにはレコードが含まれており、ほとんどの場合、レコード長は固定です。ライブラリには、これらのファイルを参照およびアクセスできるプログラムが含まれています。SSPには、ファイルとライブラリの作成、削除、コピー、編集/変更、およびセキュリティ保護を可能にする80種類以上のコマンドが含まれていました。
ライブラリまたはファイルは、1つの固定ディスク上に連続した構成で存在する必要があります(ただし、ライブラリには約50ブロックの「エクステント」が1つ含まれますが、これは再編成が必要であり、他のユーザーに割り当てられた場合は拡張できません)。ファイルはEXTEND値で編成することも、FILE OCLを使用して自動的に拡張することもできます。ファイルの拡張中は、すべてのレコードの追加、更新、削除が待機されます。拡張の頻度を最小限に抑えるために、十分に大きな拡張値を作成することが賢明です。ライブラリには連続していない「エクステント」が含まれる場合があります。プログラムをコンパイルする際にエクステントが作成され、「CONDENSE」を実行することで、メインの割り当て領域に十分な空きがあれば削除されることがありました。そうでない場合は、ALOCLIBRを使用してライブラリをより大きなサイズに再割り当てしていました。
S/36 上のファイルは、シーケンシャル (S)、直接 (D)、または索引 (I) 形式です。索引ファイルには複数の代替索引 (X) を設定できます。また、シーケンシャル ファイルには代替索引を設定できるため、主索引は存在しません。索引ファイルには連続したキーが 1 つ設定されており、キーの長さは最大 60 文字までです。ただし、代替索引には 3 つの部分から構成されるキーを設定できますが、これらのキーは互いに連続していません。索引ファイルまたは代替索引ファイルでは、重複キーが許可されることも、許可されないこともあります。直接編成のファイルは、すべてのレコードが追加された状態で作成され、自動拡張はできません。シーケンシャル編成または索引編成のファイルは、レコードが追加されない状態で作成されます。代替索引のレコード数は、常に親と同じ数になります。これは、親からレコードをフィルターする条件が設定された状態で作成される System/38 形式の論理ファイルとは対照的です。
1986年、分散データ管理アーキテクチャ(DDM)のサポートがSSPに追加されました。これにより、System/36プログラムは、CICSが稼働するリモートSystem/36、System/38、およびIBMメインフレームシステム上でレコード指向ファイルを作成、管理、およびアクセスできるようになりました。また、リモートSystem/36およびSystem/38コンピュータ上のプログラムも、System/36上のファイルを作成、アクセス、および管理できるようになりました。DDMで定義された初期のレコード指向ファイルモデルは、System/36ファイルシステムに基づいていました。
関連するオペレーティングシステム
System /3 (1969) は、システム制御プログラム (SCP) (5702-SC1) と呼ばれるディスクベースのバッチオペレーティングシステムを搭載していました。IBM は後に、バッチプログラムとして開発された通信制御プログラム (CCP) というオンラインプログラムを System/3 向けに導入しました。IBM System/32 (1975) は、同じくシステム制御プログラムと呼ばれるディスクベースのオペレーティングシステムを搭載していました。IBM System/38 (1978) は、制御プログラム機能(CPF)と呼ばれるオペレーティングシステムを搭載していました。これは SSP よりもはるかに高度な機能を備えていましたが、SSP と特に類似点はありませんでした。
出典
- IBM 出版物 SC21-8299、SSP オペレーティング システムの一般情報。
参考文献
- ^ a b「IBM 1977年3月~4月の発表:オペレーティング・システム」(PDF)。HPコンピュータ・システム・ニュースレター。1977年6月1日。15ページ。
外部リンク
- Bitsavers System/34 ドキュメントアーカイブ- SSP に関するドキュメントを含む
- Bitsavers System/36 ドキュメントアーカイブ- SSP に関するドキュメントを含む