| 開発者 | IBM |
|---|---|
| 書かれた | アセンブリ言語、基本システム言語(BSL) |
| OSファミリー | OS/360 および後継機種 |
| 初回リリース | 1966年3月31日 |
| 最新リリース | 21.8 / 1972年8月 |
| マーケティングターゲット | IBM メインフレーム コンピュータ |
| プラットフォーム | S/360、S/370 |
| カーネルタイプ | 該当なし |
| ライセンス | パブリックドメイン |
| 後継者 | OS/VS1、OS/VS2(SVS) |
OS/360は、正式にはIBM System/360オペレーティングシステムとして知られ、[1] [2] 、IBMが1964年に発表した当時の新製品であるSystem/360メインフレームコンピュータ用に開発された、現在は製造中止となったバッチ処理 オペレーティングシステムです。IBM 7090/7094用の初期のIBSYS/IBJOBおよび入出力制御システム(IOCS)パッケージ[要出典]、さらにはIBM 1410/7010プロセッサ用のPR155オペレーティングシステム[要出典]の影響を受けています。これは、コンピュータハードウェアに少なくとも1つの直接アクセス記憶装置が含まれることを要求した最も初期の[NB 1]オペレーティングシステムの1つでした。
OS/360 自体は廃止されましたが、仮想ストレージ MVSや64 ビット z/OSなどの後継オペレーティング システムは2023 年現在も実行されており[update]、OS/360 とのアプリケーション レベルの互換性を維持しています。
概要
IBM は、同じテープから生成され、ほとんどのコードを共有する 3 つの異なるレベルの OS/360 を発表しました。IBM は最終的にこれらのオプションの名前を変更し、いくつかの重要な設計変更を行いました。
- シングルシーケンシャルスケジューラ (SSS)
- オプション 1
- プライマリーコントロールプログラム (PCP)
- 複数のシーケンシャル スケジューラ (MSS)
- オプション2
- 固定数のタスクによるマルチプログラミング (MFT)
- MFT II
- 複数優先度スケジューラ (MPS)
- オプション4
- VMS [注 2]
- 可変数のタスクによるマルチプログラミング (MVT)
- モデル 65 マルチプロセッシング (M65MP)
ユーザーは「Big OS」、「OS/MFT」などのニックネームを頻繁に作りましたが、これらの名前はいずれも IBM によって正式に認められていませんでした。
IBM は、システム生成を実行するためにインストールでDASDに復元する必要のあるテープ上のライブラリ セットとして OS/360 を提供しました。IBM はまた、インストールで IBM が通常オブジェクト コードとして提供するモジュールを変更およびアセンブルするために使用できるオプションのソース テープ セットも提供しました。さらに、IBM は、基本プログラム マテリアルと後続のサービスのアセンブル リストを含むマイクロフィッシュを提供しました。 [NB 3] IBM は、ライセンス ソフトウェアに対してオブジェクト コードのみ[3] (OCO) ポリシーを課すまで、ソース コードの配布を続けました。
System/360 ハードウェアのもう一つの主要なオペレーティング システムはDOS/360でした。
OS/360はパブリックドメイン[4]であり、無料でダウンロードできます。実際のSystem/360ハードウェアで実行できるだけでなく、無料のHerculesエミュレーターでも実行できます。このエミュレーターは、 Linux、Solaris、macOS、WindowsなどのほとんどのUNIXおよびUnix系システムで動作します。Herculesですぐに実行できる、事前に生成されたOS/360 21.8システムを提供するOS/360ターンキーCDもあります。
起源
IBMは当初、System/360に、32KiB程度の小さなマシンでも実行可能なバッチ指向の[NB 4]オペレーティングシステムOS/360 [2]のみを搭載することを計画していた。 [NB 5]また、 System/360 Model 67用に、別のタイムシェアリングオペレーティングシステムTSS/360も提供することを計画していた。IBMが最終的に、より単純なバッチ指向のオペレーティングシステムを開発することにした理由については、少なくとも2つの説明がある。
- OS/360を構成する「システムを実質的に手動介入なしで動作させる約150万の命令」[5]が、より小型のSystem/360モデルで利用可能な限られたメモリに収まらないことが判明したため。 [6]
- OS/360 の開発には予想以上に時間がかかることがわかったためです。
IBMは、System/360ハードウェアの売上が落ち込むのを防ぐため、一連の暫定的な対策を導入した。最初は基本プログラミングサポート(BPS)とBOS/360(基本オペレーティングシステム、8Kバイトのメモリを搭載した最小のマシン向け)、次にTOS/360(テープオペレーティングシステム、少なくとも16Kバイトのメモリとテープドライブのみを搭載したマシン向け)、そして最後にDOS/360 (ディスクオペレーティングシステム)であり、これが主流のオペレーティングシステムとなり、今日広く使用されているVSE nの祖先となった。[6] [7]
IBM は OS/360 の 3 つの派生版をリリースしました。1966 年に、1 度に 1 つのジョブしか実行できない暫定版の PCP (Primary Control Program)、中級機向けのMFT ( Multiprogramming with Fixed number of Tasks)、および最上位機向けの MVT (Multiprogramming with Variable number of Tasks) です。 [8] MFT と MVT は、後継機がリリースされてから 10 年後である 1981 年[9]まで使用されました。 [10] MFT と MVT の区別は、ストレージの制限とスケジュールの制約により生じました。当初 IBM は、MFT と MVT は単に「OS/360制御プログラムの 2 つの構成」であると主張していましたが、後に IBM はこれらを「OS/360 の別のバージョン」と説明しました。[2] [指定] [11]
IBMは当初OS/360をアセンブリ言語で記述した。その後、IBMはOS/360のコードの一部をPL/Iから派生した新しい言語であるBasic Systems Language (BSL) [12]で記述した。リリース20のTSOコードの大部分はBSLで記述された。
TSS/360 は後期型で信頼性が低かったため IBM はこれをキャンセルしたが、その後 IBM は TSS/370 PRPQ の 3 つのリリースを供給した。この頃にはCP-67 は十分に動作していたため、IBM は数社の大口顧客向けにタイムシェアリング機能として保証なしで提供していた。[13]
OS/360 のバリエーション
これら 3 つのオプションは、非常に類似した機能を提供しているため、それらの間でアプリケーションを移植するのに通常は最小限の労力しかかかりませんでした。ほとんどの[NB 6] IBMプログラム製品、アプリケーション、およびユーティリティソフトウェアの同じバージョンが両方で実行されました。以下のテキストでは、設計上の変更がいくつかありましたが、主にPCP、MFT、およびMVT を元のSSS、MSS、およびMPSの新しい名前として扱っています。また、テキストでは M65MP と MVT を区別していません。
公式には、PCP、MFT、MVT は OS/360 とは別のオペレーティング システムではなく、[2]インストール時の構成オプションに過ぎず、今日の言葉で言えば、OS Nucleus と Scheduler の 3 つの異なるバリエーションです。ただし、動作とメモリ要件がまったく異なるため、ユーザーはこれらを事実上の別のオペレーティング システムと見なし、それぞれ「初期の OS/360」、「OS/MFT」、「OS/MVT」と呼んでいます。MFT は主にメモリの管理方法で MVT と異なります。MFT をインストールする際、顧客はシステム生成(SysGen) で、固定された[NB 7]数の パーティション(固定境界を持つメモリ領域) を指定します。このパーティションでは、アプリケーション プログラムを同時に実行できます。[11]
PCP
プライマリ コントロール プログラム (PCP) は、メモリの少ないマシン向けに設計されました。これは、パーティションが 1 つのMFT [NB 8]に似ています。経験上、128 KiB 未満のメモリを搭載したシステムに OS/360 をインストールすることはお勧めできませんが、メモリが 48 KiB などのはるかに小さいマシンでも限定的な実稼働使用は可能です。IBM は OS/360 の最終リリースで PCP オプションを削除し、より多くのメモリを必要とする MFT II と MVT のみを残しました。
システムに依存するマクロ展開では、SYS=MIN とも呼ばれます。
マルチ
固定数のタスクによるマルチプログラミング (MFT) は、1967 年に OS/360 の目標構成である可変数のタスクによるマルチプログラミング (MVT) が利用可能になるまでの暫定的な手段となることが意図されていました。MVT の初期バージョンには多くの問題があったため、よりシンプルな MFT が長年使用され続けました。1972 年に仮想メモリを備えた新しいSystem/370マシンを導入した後、IBM は MFT 2 を開発して、この特定のラインの最後のシステムであるOS/VS1に組み込みました。
MFTの最初のバージョン[14]は、コードとアーキテクチャの多くをPCPと共有していましたが、パーティションは4つに制限されていました。複数のパーティションを実行するのは非常に面倒でした。多くのインストールでは、複雑さを軽減するためにHouston Automatic Spooling Priority(HASP)を使用していました。
MFTバージョンII(MFT-II)[15]は、 MVTと制御プログラムとスケジューラコードを大幅に共有し、実行の柔軟性が大幅に向上しました。パーティションの最大数は52に増加しました。
MFT-II のその後の改良ではサブタスクが追加されたため、タスクの固定数は固定ではなくなりましたが、パーティションの数は制限として残りました。
経験上、256KiB未満のメモリを搭載したシステムにMFTをインストールすることは推奨されませんでした。[16]これは1960年代には非常に大きなメモリ量でした。
システムに依存するマクロ展開では、SYS=INT とも呼ばれます。
マルチタスク
可変タスク数マルチプログラミング(MVT)[17]は、OS/360の制御プログラムの3つの構成の中で最も洗練されたもので、最終リリースでは2つの構成のうちの1つでした。 [18] MVTはSystem/360ファミリーの最大のマシン向けに設計されました。1964年に導入されましたが、1967年まで利用できませんでした。初期のバージョンには多くの問題があり、よりシンプルなMFTが長年使用され続けました。経験上、512KiB未満のメモリを搭載したシステムにMVTをインストールすることはお勧めできません。
MVT は、オペレーティング システムによって使用されていないすべてのメモリを単一のプールとして扱い、そこから連続した領域を必要に応じて無制限の[NB 9]同時アプリケーションおよびシステム プログラムによって割り当てることができる。この方式は MFT よりも柔軟性が高く、原理的にはメモリをより効率的に使用するが、断片化が発生しやすい。しばらくすると、プログラムを実行するのに十分な空きメモリがあるにもかかわらず、それが別々のチャンクに分割され、そのどれもが十分な大きさではないことがわかった。[11] System/360 にはメモリ再配置ハードウェアがないため、メモリの圧縮を使用して断片化を軽減することはできなかった。Rollout /Rollin と呼ばれる機能により、実行中のジョブをセカンダリ ストレージにスワップ アウトして、そのメモリを別のジョブで使用できるようにすることができた。ただし、ロールアウトされたジョブは、元のメモリ位置が再び使用可能になったときに、そこにロールインする必要がある。[19]
1971 年、 MVT で使用するためのタイム シェアリング オプション(TSO) がリリース 20.1 の一部として追加されました。TSO は、エディター、バッチ ジョブの送信、完了の通知、印刷されたレポートを待たずに結果を表示する機能、 System/360 で使用される一部のプログラミング言語用のデバッガーを提供したため、プログラム開発で広く使用されるようになりました。OS/360 [NB 10]の TSO は、通信アクセス メソッド(TCAM)を使用して端末と通信しました。TCAM の名前は、IBM がデータ通信の標準アクセス メソッドになることを望んでいたことを示唆していますが、実際には OS/VS2 の TCAM はほぼ完全に TSO に使用され、1970 年代半ばから後半にかけて 仮想通信アクセス メソッド(VTAM) に大きく置き換えられました。
システムに依存する一部のマクロの呼び出しでは、SYS=VMS とも呼ばれます。
M65MP
モデル65マルチプロセッシング(M65MP)はMVTの派生型です。360/65のマルチシステムモードで動作します。 [20] M65MPは、Set System Mask(SSM)命令の使用をトラップし、2つのCPU間で無効なコードをシリアル化します。M65MPシステムは、ほとんどの場合、他のMVTシステムと同じ動作とインターフェイスを備えています。
キーワード パラメータ SYS=VMS には、M65MP とユニプロセッサ MVT が含まれていました。
共通機能
PCP、MFT、MVT は、アプリケーション プログラムの観点からは同様の機能を提供します。
- 同じアプリケーション プログラミング インターフェイス(API) とアプリケーション バイナリ インターフェイス(ABI) なので、アプリケーション プログラムを変更したり、再アセンブルしたり、再コンパイルしたりすることなく、MFT と MVT 間で転送できます。
- 同じJCL (バッチ ジョブを開始するためのジョブ制御言語) ですが、 DOS/360のものよりも複雑ではありますが、より柔軟で使いやすくなっています。
- ファイルの読み取りと書き込み、およびデータ通信のための
同じ機能 (アクセス メソッド):
- 順次データ セットは通常、 BSAMまたはQSAM を使用して、最初から最後まで 1 レコードずつ読み書きされます。これは、テープ ドライブ、カードリーダー/パンチ、およびプリンターに使用できる唯一の手法でした。
- インデックス ( ISAM ) ファイルでは、各レコードの指定されたセクションがキーとして定義され、特定のレコードを検索するために使用できます。
- 直接アクセス ( BDAM ) ファイルでは、アプリケーション プログラムは、アクセスするデータの直接アクセス ストレージ デバイス(DASD)内の相対ブロック番号、相対トラック アンド レコード (TTR)、または実際の物理的な位置 (MBBCCHHR) [NB 11]、あるいはキーによる検索の開始点を指定する必要があります。BDAM プログラミングは簡単ではなく、ほとんどの組織では使用されていませんでしたが、ディスク上のデータにアクセスする最も高速な方法であり、多くのソフトウェア会社が自社製品、特にADABAS、IDMS、 IBM のDL/Iなどのデータベース管理システムで使用していました。OS/360 Fortran からも使用できます。BDAM データセットはブロック化されておらず、物理レコードごとに 1 つの論理レコードがあります。
- 追加のファイル構造、パーティション化、およびアクセス メソッド ( BPAM ) は、主にプログラム ライブラリの管理に使用されます。パーティション化されたファイルは空き領域を再利用するために圧縮する必要がありますが、 MFT と MVT では複数のパーティション化されたデータセットが許可され、各プロジェクトには通常少なくとも 1 つあるため、 DOS/360の Core Image Library の同様の要件よりも影響は小さくなります。
- 世代データ グループ (GDG) は、もともと、祖父、父、息子のバックアップ手順をサポートするために設計されました。ファイルが変更されると、変更されたバージョンが新しい息子になり、前の息子が父になり、前の父が祖父になり、前の祖父が削除されます。ただし、3 世代を超える GDG を設定することもでき、一部のアプリケーションでは、GDG を使用して、多数のさまざまなソースからデータを収集し、その情報を 1 つのプログラムに送りました。収集プログラムごとにファイルの新しい世代が作成され、最後のプログラムがグループ全体を 1 つのシーケンシャル ファイルとして読み取りました (JCL で世代を指定しない)。
- データ通信機能であるBTAM は、今日の基準からすると原始的で使いにくいものでした。しかし、ほぼすべての種類の端末と通信することができ、通信プロトコルの標準化がほとんど行われていなかった当時としては大きな利点でした。
- ファイル名付けシステムにより、ファイルは各レベルで最大 8 文字の名前を持つ階層として管理できます (例: PROJECT.USER.FILENAME)。これは、 8 バイトのキーを持つレコードを使用するシステム カタログ(SYSCTLG) と制御ボリューム(CVOL) の実装に関連付けられています。
PCPを除く共通機能
一部の機能は MFT と MVT でのみ利用可能でした:
- MFT II および MVT 用のSPOOL機能(DOS/360 には当初この機能はありませんでしたが、後に POWER アプリケーションによって提供されました)。
- MFT (リリース 19 以降) および MVT のアプリケーションではサブタスクを作成できるため、1 つのジョブ内でマルチタスク (マルチスレッド) が可能になります。
- グラフィックジョブ処理
- 衛星グラフィックジョブ処理
- リモートジョブエントリー
- キュー通信アクセス方式(QTAM)
- 電気通信アクセス方式(TCAM)
System/370 および仮想メモリ オペレーティング システム
1970年にSystem/370が発表されたとき、System/360と基本的に同じ機能を提供しましたが、同価格帯のSystem/360 CPUの約4倍のプロセッサ速度でした。[21]その後、1972年にIBMはSystem/370 Advanced Functionsを発表しました。その主な内容は、System/370の将来の販売に仮想メモリ機能が含まれること、またこれを既存のSystem/370 CPUに後付けできることでした。そのため、IBMは仮想メモリの使用をサポートできる拡張オペレーティングシステムの提供にも取り組んでいました。[22] [23]
オペレーティングシステム
IBM は S/370 サポート用に OS/360 SYSGENオプションを提供しましたが、このオプションでは DAT はサポートされませんでしたが、次の機能はサポートされていました。
- 制御レジスタのサポート
- 拡張I/Oをサポート[NB 12]
- S/370マシンチェックハンドラーを提供する
- 新しいタイマー機能の限定的なサポートを提供する
OS/VS1
OS/VS1 はMFT の後継であり、RES、仮想メモリなど、いくつかの追加機能を備えた同様の機能を提供します。VSAM (下記参照) は、最初は独立コンポーネントリリース (ICR) として提供され、後に OS/VS1 ベースに統合されました。[11] IBM は 1983 年まで OS/VS1 のかなり小さな機能強化をリリースし、1984 年にそれ以上の機能強化は行わないことを発表しました。AIX/ 370、AIX/ESA、DPPX、IX/370、OS/VS1、および TSS/370 は、最新の後継がない唯一の System/370 オペレーティングシステムです。
OS/VS2 SVS および MVS
OS/VS2 リリース 1 は、 MVTに仮想メモリと VSAM を加えただけのものでした (下記参照)。[11] このバージョンは、OS/VS2 リリース 2 (MVS、Multiple Virtual Storage の略) が導入されたときに、最終的にOS/VS2 SVS (Single Virtual Storage の略) に改名されました。SVS は MVT から MVS への足がかりとして意図されたもので、今日では歴史的な関心の対象となっているだけです。
1974年にIBMはOS/VS2リリース2と称するものをリリースしたが、これは実際にはOS/VS2リリース1と上位互換性のある新しいオペレーティングシステムであった。新システムのスーパーバイザは、BSLの新しい方言であるPL/Sで大部分が書き直されていた。[24] [25] BSLとPL/SはPL/Iの方言であり、コンピュータ全体を制御するために必要な特権命令を含むアセンブリ言語コードを転記するように設計された拡張機能を備えていた。特にOSディスパッチャやIOSなどの時間に敏感なOSコンポーネントは、他の多くのものの中でも特に、IFOX00アセンブラ[NB 13] (古いOS/360 IEUASMアセンブラから)でOS/VS用に拡張されたアセンブリ言語でコード化されたままであった。
新バージョンの最も注目すべき機能は、複数の仮想アドレス空間をサポートしたことです。異なるアプリケーションは同じ範囲の仮想アドレスを使用していると考えていましたが、新システムの仮想メモリ機能は、これらを異なる範囲の実メモリアドレスにマッピングしました。各アプリケーションのアドレス空間は、3 つの領域で構成されています。オペレーティング システム (すべてのジョブで共有される 1 つのインスタンス)、アプリケーションごとに固有のアプリケーション領域、ジョブ間通信などのさまざまな目的で使用される共有仮想領域です。IBM は、アプリケーション領域は常に少なくとも 8MB であると約束しました。このアプローチにより、MVT および SVS に存在していたメモリの断片化のリスクがなくなり、システムの内部セキュリティが向上しました。[11]新しいシステムはすぐに「MVS」(Multiple Virtual Storages) として知られるようになり、元の OS/VS2 は「SVS」(Single Virtual Storage) として知られるようになり、IBM 自身もこの用語を受け入れ、MVS の後継を「MVS/ xxx」と名付けました。[26]
MVSはワークロード管理に新しいアプローチを導入し、ユーザーが優先度の高いバッチジョブのパフォーマンス目標を定義できるようにしました。これにより、ユーザーは最も優先度の高いジョブのパフォーマンスに影響を与えることなく、システムに以前よりも多くの作業を割り当てることができるようになりました。[27]
MVS は、IBM が System/370 [NB 14]上で初めて主流としたオペレーティング システムであり、IBM が密結合マルチプロセッシングと呼ぶものをサポートしていました。密結合マルチプロセッシングでは、2 個 (後に IBM メインフレームでは最大 12 個、 Amdahlメインフレームでは最大 16 個) の CPU が同じメモリ (およびオペレーティング システムの単一コピーと周辺機器) に同時にアクセスして、処理能力を高め、1 つの CPU に障害が発生した場合でも、ある程度の段階的な劣化を実現しました (幸い、システムの稼働時間が数時間から数日、さらに数年と長くなるにつれて、このような事態はますます稀になっていきました)。
当初、MVS にはJES2 (Job Entry Subsystem 2)と呼ばれるジョブ キューマネージャーが付属していました。これは HASP ( Houston Automatic Spooling Priority ) から派生したもので、他の場所にあるワークステーションからのリモート ジョブ エントリもサポートしていました。JES2 は 1 つの CPU (密結合マルチプロセッサー システムである可能性があります) のジョブしか管理できません。1976 年に IBM は別のオプションとしてJES3 (Job Entry Subsystem 3) を提供しました。これは ASP ( Attached Support Processor ) から派生したもので、1 つの CPU で 1 つのジョブ キューを管理して複数の物理的に異なる CPU に作業を送り、1 つのオペレーター コンソールでそれらすべての CPU の作業を管理できます。[28]注: JES1 は OS/VS1 のジョブ キュー マネージャーでした (上記参照)。
VSAM
IBMは、仮想記憶アクセス方式(VSAM)が、従来のシーケンシャル、インデックス、直接アクセス方式に取って代わることを期待し、これらの改良版を提供した。[29] [30]
- エントリ シーケンス データセット (ESDS) は、最初から最後まで読み取ることも、先頭からのオフセットを指定して直接読み取ることもできるため、シーケンシャル データセットと BDAM (直接) データセットの両方と同様の機能を提供します。
- キー順データセット (KSDS) は IBM の ISAM からのメジャーアップグレードです。KSDS では、一意でない値を持つセカンダリキーや、連続していないフィールドを任意の順序で連結して形成されたキーを使用できます。また、ISAM での挿入や更新を処理するために使用されるオーバーフローレコードによって発生するパフォーマンスの問題を大幅に軽減します。さらに、インデックス更新の途中でソフトウェアまたはハードウェアに障害が発生してインデックスが破損するリスクも大幅に軽減します。VSAM は ISAM / VSAM インターフェースを提供し、ISAM ベースのアプリケーションが再プログラミングなしで VSAM KSDS を使用できるようにします。[31]
- 相対レコード データセット (RRDS) は、直接アクセス ( BDAM ) データセットの代替であり、アプリケーションは相対レコード番号を指定してレコードにアクセスできます。ESDS や KSDS とは異なり、RRDS は可変長レコードをサポートしていません。
これらの VSAM 形式は、IBM のデータベース管理システム、IMS/VSおよびDB2の基礎となり、通常、実際のデータ ストレージには ESDS、インデックスには KSDS が使用されています。
VSAM は、カタログ機能の新しい実装も提供します。これにより、アプリケーションは、どのディスク ドライブにあるかを知ることなく、名前でファイルにアクセスできます。VSAM データセットは、使用する前に VSAM カタログで定義する必要があります。また、非 VSAM データセットも VSAM カタログにリストできます。MVS マスター カタログは、VSAM カタログである必要があります。[30] カタログは、もともと OS/360 で CVOL の形式で提供されていました。MVS は、VSAM 用に別のカタログ構造を追加しました。その後、IBM は ICF カタログと呼ばれる 3 番目のタイプのカタログを追加しました。[32] (IBM は、2000 年時点で CVOL および VSAM カタログのサポートを廃止しました。これは、これらのカタログが Y2K に準拠していないためです。そのため、z/OS では、ICF カタログのみがサポートされています。) [33]
SNAA の
1974 年に IBM はSystems Network Architecture を発表しました。これは主に通信回線をより効率的に使用することで、大規模な端末ネットワークの運用コストを削減することを目的としていました。これは IBM の仮想メモリ オペレーティング システムでのみ利用可能です。メインフレーム ソフトウェア コンポーネントであるVTAMはこれらのオペレーティング システムでのみ利用可能である ためです。
以降のMVSバージョンと機能強化
1977年にIBMはMVS/System Extensionsを発表しました。これはMVSのパフォーマンスを向上させ、機能を追加したプログラム製品(つまり、追加料金がかかった)でした。[34]
オリジナルの MVS の子孫は、System/360、 System/390、zSeriesの最新の子孫でも引き続き使用されています。System/390 の場合はOS/390に名前が変更され、zSeries の 64 ビット バージョンはz/OS と名前が変更されました。
構造、インターフェース、ロジック
サイズの都合上、このセクションでは OS/360 の MVT オプションに焦点を当てます。PCP と MFT は、命名法の変更といくつかの小さな違いはあるものの、非常によく似ています。OS /VS1とSVSはMFT II および MVT とほぼ同じ構造ですが、MVS はMVT のロジックの大部分を保持していますが、別の記事で取り上げた方がよい主要な機能強化が行われています。この記事では、IBM の用語であるメモリではなくストレージの使用法に従います。
CPU割り当て
OS/360 は、他のシステムの軽量プロセスまたはスレッドに類似したタスクにプロセッサを割り当てます。各タスクには、タスク制御ブロック(TCB) と要求ブロック[NB 15] (RB)のスタックがあります。タスクはディスパッチ可能またはディスパッチ不可能[NB 16]のいずれかであり、RB は待機中[NB 17]または待機していないかのいずれかです。ディスパッチャは、現在の RB が待機中でない、最も優先度の高いディスパッチ可能なタスクを選択します。
MVS は、プロセスに類似したアドレス スペースと、アドレス スペース内のサービス要求ブロック (SRB)およびタスクにプロセッサを割り当てます。各アドレス スペースには、アドレス スペース制御ブロック (ASCB)、SRB のキュー、および TCB のキューがあります。
ストレージレイアウト
OS/360 では、すべてのストレージがすべてのコードから参照できますが、フェッチ保護により、一部の制御ブロックまたはジョブ間の非特権コードによるアクセスが防止される場合があります。MVT のメイン ストレージは、実ストレージの下部にあるシステム(固定) 領域、上部にある共通領域、および中央にあるプライベート領域に分かれています。これらには次の領域が含まれます。
- 固定エリア
- このエリアは絶対位置0から始まり、
- 核。
- これは、位置 0 のストレージ セクションで、 からロードされます
SYS1.NUCLEUS(IEANUCxx)。ここで、xx は通常 01 です。モデル 65 MP (M65MP) の場合、プロセッサごとにプレフィックスの個別のコピー (位置 0-4095) があります[35] : 72。 絶対アドレスという用語は、プレフィックスの後に実際にメモリに送られるアドレスを指し、実アドレスという用語は、プレフィックスが適用される前のアドレスを指します。Nucleus には、割り込み ハンドラ、制御ブロック、タイプ 1 およびタイプ 2 SVC ルーチン、SVC 一時領域、非特権コードから直接呼び出すことができるルーチン、特権コードによってのみ呼び出すことができるルーチンが含まれています。 - システム キュー領域 (SQA)。
- これは、システムがジョブ間で共有されるストレージを取得する領域です。
- プライベートエリア。
- これはMVTがリージョンのストレージを取得する領域です。リージョンの種類には以下が含まれます。
- 仕事
- カードリーダー、CRJE、RJE、TSOなどによって送信されたバッチジョブに対してイニシエータによって割り当てられます。
- 前景
- スワップインされたTSOセッションが含まれます。タイム シェアリング コントロール (TSC) タスクによって作成されます。
- マウント
- オペレータのMOUNTコマンド用に開始タスク制御 (STC) によって割り当てられます。
- タスクを開始しました
- オペレータのSTARTコマンド用に開始タスク制御 (STC) によって割り当てられます。
- 共用エリア
「これは最も高い物理アドレスにあるストレージセクションです。
- 居住者BLDLエリア
- これは、選択されたディレクトリ エントリをキャッシュする領域です。
- マスタースケジューラ領域
- マスター スケジューラと通信タスクは、NIP によって割り当てられるこの領域で実行されます。
- リンクパックエリア[NB 18] (LPA)
- これは、IPL 時に MVT が再入可能アクセス メソッド ルーチンやその他のプログラムをロードし、その後すべてのジョブで共有できるようにする領域です。
SVSストレージレイアウト
SVS は、システム領域が実ストレージではなく仮想ストレージの上部と下部にあり、中核が仮想=実 (V=R) ストレージにあり、専用領域に各領域のローカル システム キュー領域 (LSQA) が含まれ、LPA が次のように分割されている点を除いて、SVS と同様です。
- ページング可能なリンク パック領域 (PLPA)
- これは、SYS1.LPALIB 内のすべてのモジュールを含む領域です。これをバックアップするページ データ セットは、LPA 作成 (CLPA) オプションが指定されている場合を除き、IPL をまたいで保持されます。
- 修正リンク パック領域 (MLPA)
- これは、SYS1.PARMLIB の IEALPAxx メンバーにリストされ、IPL の実行中に PLPA 内のモジュールを置き換えるモジュールを含む領域です。
- 固定リンク パック領域 (FLPA)。
- これは、SYS1.PARMLIB の IEAFIXxx メンバーにリストされ、IPL の期間中に PLPA 内のモジュールを置き換えるページ固定モジュールを含む領域です。
MVS/370 ストレージレイアウト
MVSでは、すべてのアドレス空間がシステム領域[NB 19]を共有しますが、プライベート領域は共有しません。MVSでは以下が追加されています。
- 共通ストレージエリア (CSA)
- これは、MVS がすべてのアドレス スペースで共有されるストレージを動的に割り当てることができる領域です。
- システム作業領域 (SWA)
- これは、OS/360 および SVS では SYS1.SYSJOBQE に含まれていた制御ブロックを含む領域です。
MVS/XA、MVS/ESA、OS/390 ストレージレイアウト
MVS/XA以降では、システム領域、プライベート領域、共通領域が下層に存在します。16 Mi B(2 24バイト)ラインと、その間の拡張領域16 Mi Bと2 Gi B (2 31バイト)。
z/OS ストレージレイアウト
z/OSでは、ストレージレイアウト[36]はMVS/XA、MVS/ESA、OS/390と似ており、2 Gi B バーは、バーの下のストレージとは異なるサービスによって管理されます。
IPLプロセス
オペレータが最初にを選択するとLOAD、システムはREAD IPL選択されたデバイスにコマンドを送信し、シリンダ 0、トラック 0、レコード 1 から 24 バイトをストレージ ロケーション 0 に読み取ります。[35] : 22 バイト 8-23 が読み取られ、シリンダ 0、トラック 0、レコード 2 のブートストラップ レコードに転送され、 [37]ブートストラップレコードは読み取られ、IPL ローダーに転送します。IPL ローダーは初期のハウスキーピングを実行し、要求された中核を見つけて、再配置でロードします。割り込み ハンドラ csect は常にロケーション 0 にあり、中核初期化 csect は常に最後にあるため、最終的には破棄できます。中核初期化プログラム (NIP) は、さまざまなシステム コンポーネントを初期化します。
最初に、NIP は必要なサービスを提供する必要があります。ただし、さまざまな OS 機能を初期化すると、マクロを使用してボリューム テーブル オブ コンテンツ(VTOC)からデータ セット制御ブロックOBTAIN(DSCB)を読み取るなど、標準サービスを使用し始めます。
NIP はデータセットからメンバーを読み取り、SYS1.PARMLIBさまざまな運用データを取得します。これらのメンバーは、デフォルト、オペレーター、または他のメンバーのパラメーターによって指定できます。
NIP は最終的にプライベート領域からマスター スケジュール領域を作成し、IEEVIPL に転送してマスター スケジューラと通信タスクを初期化し、システムの初期化を完了します。
仕事のような作業単位
バッチ ジョブに加えて、OS/360 はバッチ ジョブと同様に処理するいくつかの作業カテゴリをサポートします。いずれの場合も、システムは JCL を処理し、領域を割り当て、デバイスを割り当て、ジョブ ステップ プログラムを開始する必要があります。バッチ ジョブの場合、リーダー/インタープリターは外部デバイスからの JCL を処理します。STARTコマンド、 MOUNTコマンド、およびTSO LOGONの場合、システムはカタログ式プロシージャを呼び出す JCL を生成します。
インターフェース
翻訳
OS/360 には、通信ベクター テーブル (CVT) と呼ばれる制御ブロックがあり、これには他の制御ブロックやさまざまなルーチンへのポインターが含まれています。OS/360 マクロ命令の一部は、CVT や他の制御ブロック内のフィールドを参照します。
OS/360 には、一部の制御ブロックの dsect マッピングを提供するマクロがありますが、多くのマクロには、マッピング マクロ内の名前ではなく、ハードコードされたオフセットがあります。
OS/360 サービスは通常、レジスタ 1 にパラメータを持ちます。レジスタ 0 と 1 を使用するものもあれば、レジスタ 0、1、15 を使用するものもあります。
OS/360 サービス マクロには、通常、次の 3 つの形式があります。
- フォームを実行する
- 提供されたパラメータリストを使用して関数を実行する
- リストフォーム
- 実行フォーム マクロで使用できるプリセット パラメータを含むパラメータ リストを生成します。
- 標準フォーム
- 必要なパラメータ リストを生成し、機能を実行します。
重要なサービスの多くはSVCルーチンに実装されており、レジスタ 2 ~ 14 が保持されます。その他のサービスは、システム制御ブロックのエントリ アドレスを使用して直接呼び出し可能なサブルーチンとして実装され、レジスタ 13 が標準保存領域を指す必要があります。これらは通常、レジスタ 2 ~ 13 を保持します。どちらの場合も、終了時のレジスタ 15 には通常戻りコードが含まれます。多くのサービスはレジスタ 0 と 1 に追加データを返します。
オペレーターコンソール
OS/360には少なくとも1つのオペレータコンソールが必要です。サポートには2つのレベルがあります。
- 主要な
- これは、1つのプライマリコンソールと1つのオプションの代替コンソールのみを許可する基本レベルのサポートです。
- 複数コンソールのサポート (MCS)
- MCS では、1 つのマスター コンソールと最大 31 のセカンダリ コンソールを使用できます。32 のコンソールのいずれにも、障害が発生した場合にメッセージ トラフィックを受信する代替コンソールを設定できます。MCS では、セカンダリ コンソールまたは DASD 上のシステム ログ (SYSLOG) のいずれかに、メッセージ トラフィックをハードコピー ログに記録できます。MCS には、CRT ベースのコンソールをサポートするための統合フレームワークであるデバイス独立ディスプレイ オペレーター コンソール サポート (DIDOCS) が含まれています。
オペレーター宛メッセージ (WTO) またはオペレーター宛メッセージ (WTOR) によって発行される各メッセージには、1 つ以上のルーティング コードが関連付けられています。オペレーターは、コンソールが特定のルーティング コードのみを表示するように制限できます。この機能の一般的な使用法は、コンソールをテープ ライブラリに配置し、そのテープ ライブラリアンに関連するメッセージのみを表示することです。特別なルーティング コード 7 により、メッセージ テキストがジョブのメッセージ ログに含められます。
各メッセージには、その処理方法を制御する記述子もあります。
主要なオペレーター コマンドの 1 つはREPLY、マクロに応答する ですWTOR。オペレーターは、メッセージ テキストを受信したコンソールでのみ WTOR に応答できます。
ディスプレイコンソール( 2250、2260、3270など)のキーコマンドはCONTROL ( K )で、スクロールなどの処理オプションを設定し ます。
JCL
タイムライン
これらのデータは、IBM 360 オペレーティング システムのリリース履歴、System/370 市場製品およびサービス年表、 IBM から取得されています。「z/OS、z/OS.e、および OS/390 のマーケティングおよびサービス発表、提供開始日、および廃止日」。2008 年 3 月 14 日のオリジナルからアーカイブ。および IBM の発表レター。
参照
注記
- ^ Atlas Supervisor、Burroughs MCP、GECOSのわずか数年後
- ^ VMS は DEC VAXのVMSシステムとは無関係です。
- ^ プログラムの一時修正はソース コードとして利用できませんでした。
- ^ IBM は最終的に OS/360 用の対話型機能 (CRJE、ITF、TSOなど) を提供しました。
- ^ IBM はこの目標を達成できず、OS/360 は限定的な生産でも 44 KiB を必要としました。
- ^ たとえば、HASP はPCP では実行できませんでした。
- ^ オペレーターはオペレーター コンソールからDEFINEコマンドを入力して手動で変更できましたが、システムはワークロードに合わせて自動的に調整しませんでした。
- ^ しかしMFT IIには当てはまらない
- ^ リソースの可用性(例:領域のメモリ、アプリケーション領域の保護キー)に応じて異なります。
- ^ IBM は後に、TSO に VTAM を使用する機能を追加しましたが、MVS のみで使用できました。
- ^ データセットには移動不可属性が必要です。
- ^ しかしIDALではない
- ^ DOS/VSおよびVM/370にも同梱されています。
- ^ OS/360 M65MP および TSS/360 は SMP をサポートしました。
- ^ MVSのサービス要求ブロックは、名前にもかかわらず、特定の TCB に関連付けられていません。
- ^ つまり、TCB に 1 つ以上のディスパッチ不可能フラグが設定されています。
- ^ つまり、待機カウントがゼロではないということです。
- ^ リンクパックキューとも呼ばれます。
- ^ ただし、各プロセッサごとに PSA のコピーが別々に存在します。
参考文献
引用
- ^ IBM オペレーティング システム/360 の概念と機能(PDF) . IBM. 1965. C28-6535-0.
- ^ abcd イントロ。
- ^ 「IBM ライセンス・プログラムおよびライセンス・プログラム資料の配布および IBM ライセンス・プログラムに関する修正契約」。発表レター。IBM。1983年2 月 8 日。LTR ENUS283-016。2022年11 月 18 日に閲覧。
- ^ 「IBM OS/360 オペレーティング システム」。ブリタニカ百科事典。2019 年3 月 11 日閲覧。
- ^ 「System/360 Model 91」。IBMアーカイブ。IBM。2003 年 1 月 23 日。2005 年 3 月 10 日時点のオリジナルよりアーカイブ。
- ^ ab Johnston (2005 年 4 月 1 日)。「VSE: 過去 40 年間の振り返り」。z/Journal (2005 年 4 月/5 月)。Thomas Communications, Inc. 2009 年 3 月 4 日時点のオリジナルよりアーカイブ。
- ^ チャック・ボイヤー。「360 革命」(PDF)。
- ^ INTRO、p. 50、制御プログラムの構成。
- ^ TY Johnston. 「完全な VM 環境への移行」(PDF)。スタンフォード線形加速器センター。
- ^ 「70年代半ばのSHARE調査」。2008年5月12日時点のオリジナルよりアーカイブ。
- ^ abcdef Auslander, MA ; Jaffe, JF (1973). 「IBM 仮想ストレージ オペレーティング システムの機能構造、パート I: 動的アドレス変換がオペレーティング システム テクノロジに与える影響」IBM Systems Journal . 12 (4). IBM: 368–381. doi :10.1147/sj.382.0340.
- ^ BSL 言語仕様(PDF) . IBM. Z28-6642-0.
- ^ 「IBM 360/67 と CP/CMS」。
- ^ IBM System/360 オペレーティング システム 固定数のタスクによるマルチプログラミング (MFT) の概念と考慮事項(PDF)。初版。IBM。1966 年 10 月。GC27-6926-0。
- ^ 固定数のタスクによるマルチプログラミングの計画 バージョン II (MFT II) (PDF)。初版。IBM。1967 年 10 月。C27-6939-0。
- ^ Ray Saunders. 「MVS...そしてOS/360以前?」。2007年12月20日時点のオリジナルよりアーカイブ。
- ^ IBM System/360 オペレーティング システム MVT ガイド OS リリース 21 (PDF)。第 5 版。IBM。1972 年 3 月。GC28-6720-4。
- ^ INTRO、pp. 50–51、制御プログラム構成「[OS/360 制御プログラムには 2 つの構成があります: ... 可変数のタスクによるマルチプログラミング (MVT) 構成」
- ^ IBM Corporation (1973). OS System Generation Release 21 (PDF) . p. 182.
- ^ 「付録 A. マルチプロセッシング システム」。IBM System/360 モデル 65 の機能特性(PDF)。第 4 版。IBM。1968 年 9 月。30 ~ 34 ページ。A22-6884-3。
- ^ 「System/370 発表」。IBM。1970 年 6 月 30 日。2005 年 1 月 16 日時点のオリジナルよりアーカイブ。
- ^ 「DPD chronology (1970–1974)」。IBM。2003年1月23日。2009年10月23日時点のオリジナルよりアーカイブ。DPD = IBM の中規模および大規模システムを担当していたデータ処理部門。
- ^ Pugh, EW; Johnson, LR; Palmer, JH (1991). IBM の 360 および初期の 370 システム. MIT プレス. ISBN 0-262-16123-0。
- ^ PL/S 生成リストのガイド。第 1 版。IBM。1972 年 7 月。GC28-6786-0。
- ^ PL/S II ガイド(PDF)。初版。IBM。1974 年 5 月。GC28-6794-0。
- ^ 「3033 技術プレスリリース」。2005 年 4 月 20 日時点のオリジナルよりアーカイブ。
- ^ MVS ワークロード管理の実装
- ^ ジョブ入力サブシステム 3 (JES3) 自動化
- ^ VSAM Demystified (PDF) (第3版)。2013年3月。
- ^ ab Jay Moseley (2015 年 1 月 17 日)。「VSAM チュートリアル」。
- ^ Jay Moseley. 「ISAM / VSAM インターフェース」。2023 年 6 月 3 日閲覧。
- ^ ソーヤー、ピーター(1989年3月3日)。SVC 26とその機能。シェア。
- ^ Pryor, Steve (2003 年 2 月)。「データはどこにありますか? カタログから情報を取得する」(PDF)。テクニカル サポート。NaSPA。2017年 3 月 5 日閲覧。
- ^ “3033 プレス発表”. 2005年4月20日時点のオリジナルよりアーカイブ。
- ^ ab IBM System/360 Principles of Operation (PDF) . IBM Systems Reference Library (第8版) . 1968年9月. A22-6821-7 . 2022年5月23日閲覧。
- ^ z/OS 仮想メモリ(PDF) . SHARE Phoenix 2019. SHARE Inc. 2019年3月13日. セッション番号: 24662 . 2022年8月16日閲覧。
- ^ IPL、3 ページ、初期プログラムローダー。
OS/360 マニュアル
- DMMAC
- OS データ管理マクロ命令 - リリース 21.7 (PDF) . IBM システム・リファレンス・ライブラリー (第 2 版) . IBM . 1973 年 6 月 . GC26-3794-1 . 2022 年6 月 7 日に取得。
- DMSC について
- OS データ管理マクロ サービス ガイド - リリース 21.7 (PDF)。IBM システム リファレンス ライブラリ (第 3 版)。IBM。1973年7 月。GC26-3746-2。2022年6 月 7 日に取得。
- DMSYS
- OS データ管理 - システム プログラマー向け - リリース 21 (PDF) . IBM システム リファレンス ライブラリー (第 12 版) . IBM . 1973 年 4 月 . GC28-6550-11 . 2022 年6 月 7 日に取得.
- はじめに
- OS/360 入門(PDF) . システム・リファレンス・ライブラリ (第 4 版) . IBM . 1972. GC28-6534-3 . 2022 年7 月 7 日に取得。
- 技術ニュースレターGN28-2512。1972年1月15日。
- JCLREF
- IBM System/360 オペレーティング・システム: ジョブ制御言語リファレンス - OS リリース 21.7 (PDF) . IBM システム・リファレンス・ライブラリー (第 5 版) . IBM . 1976 年 8 月 . GC28-6704-4 . 2022 年6 月 7 日に取得。
- JCLUSER
- IBM System/360 オペレーティング・システム: ジョブ制御言語ユーザーズ・ガイド(PDF) . IBM Systems Reference Library (第 3 版) . IBM . 1971 年 6 月 . GC28-6703-2 . 2022 年6 月 7 日に取得.
- いいね
- IBM OS - リンケージ エディターおよびローダー - プログラム番号 360S-ED-510 - 360S-ED-521 - 360S-LD-547 ( PDF)。IBM システム リファレンス ライブラリー (第 11 版)。IBM。1973年 4 月。GC28-6538-10。2022年6 月 7 日に取得。
- マルチ
- IBM System/360 オペレーティング システム: MFT ガイド - OS リリース 21.7 (PDF) . IBM システム リファレンス ライブラリ (第 11 版) . IBM . 1974 年 8 月 . GC27-6939-10 . 2022 年6 月 7 日に取得.
- マルチタスク
- IBM System/360 オペレーティング システム: MVT ガイド - OS リリース 21.7 (PDF) . IBM システム リファレンス ライブラリ (第 6 版) . IBM . 1974 年 8 月 . GC28-6720-5 . 2022 年6 月 7 日に取得.
- SMF の
- OS SMF (PDF) . IBM Systems Reference Library (第 8 版) . IBM . 1973 年 4 月 . GC28-6712-7 . 2022 年6 月 7 日に取得。
- すする
- OS リリース 21 - IBM System/360 オペレーティング システム - スーパーバイザー サービスおよびマクロ命令(PDF)。IBM システム リファレンス ライブラリ (第 8 版)。IBM。1974年9 月。GC28-6646-7。2022年6 月 7 日に取得。
- SYSCB
- IBM System/360 オペレーティング システム: システム制御ブロック(PDF) . IBM システム リファレンス ライブラリ (第 10 版) . IBM . 1973 年 4 月 . GC28-6628-9 . 2022 年6 月 7 日に取得。
- システム生成
- OS システム世代リリース 21.8 (PDF) . IBM システム・リファレンス・ライブラリー (第 14 版) . IBM . 1974 年 8 月 . GC28-6554-13 . 2022 年6 月 7 日に取得。
- SYSPG
- IBM System/360 オペレーティング・システム: システム・プログラマーズ・ガイド(PDF) . IBM Systems Reference Library (第 9 版) . IBM . 1971 年 6 月 . GC28-6550-9 . 2022 年6 月 7 日に取得。
- TSO
- IBM System/360 オペレーティング システム: タイム シェアリング オプション ガイド - OS リリース 21.7 (PDF) . IBM システム リファレンス ライブラリ (第 8 版) . IBM . 1973 年 4 月 . GC28-6698-7 . 2022 年6 月 7 日に取得.
- TSOCMD
- IBM System/360 オペレーティング システム: タイム シェアリングオプション - コマンド言語リファレンス - OS リリース 21.7 (PDF)。IBM システム リファレンス ライブラリ (第 5 版)。IBM。1973年 4 月。GC28-6732-4。2022年6 月 7 日に取得。
OS/360 ロジックマニュアル
- IOS第2版
- IBM System/360 オペレーティング システム - 入出力スーパーバイザー - プログラム番号 360S-CI-535 (PDF)。プログラム ロジック (第 2 版)。IBM。1967年4 月。GY28-6616-1。2022年6 月 7 日に取得。
- iOS版
- OS I/O スーパーバイザー ロジック - リリース 21 - プログラム番号 360S-CI-535 (PDF)。プログラム ロジック (第 10 版)。IBM。1972年2 月。GY28-6616-9。2022年6 月 7 日に取得。
- IPL
- IBM System/360 オペレーティング システム - 初期プログラム ローダーおよび中核初期化プログラム - プログラム番号 360S-CI-535 (PDF)。プログラム ロジック (第 6 版)。IBM。1972年3 月。GY28-6661-5。2022年6 月 7 日に取得。
- PCPジョブ
- IBM System/360 オペレーティング システム: ジョブ管理 - プログラム ロジック マニュアル - プログラム番号 360S-CI-505 (PDF) (第 6 版)。IBM。1970年6 月。GY28-6613-5。2022年6 月 7 日に取得。
- 仕事
- IBM System/360 オペレーティング システム: MVT ジョブ管理、プログラム ロジック マニュアル、 - プログラム番号 360S-CI-535 OS リリース 21 (PDF) (第 10 版)。IBM。1972年 3 月。GY28-6660-9。2022年6月 7 日に取得。
- 最高
- IBM System/360 オペレーティング システム - MVT スーパーバイザー(PDF) . プログラム ロジック (第 8 版) . 1973 年 5 月 . GY28-6659-7 . 2022 年6 月 7 日に取得.
さらに読む
マニュアル
- IBM、「MVT ガイド」 - GC28-6720-4、R21、1972 年 3 月
- IBM、「MVT スーパーバイザー PLM」 - GY28-6659-7、プログラム ロジック マニュアル、1972 年 3 月
- IBM、「OS I/O スーパーバイザ PLM」 - GY28-6616-1、プログラム ロジック マニュアル、1967 年 4 月
- IBM、「OS I/O スーパーバイザ PLM」 - GY28-6616-9、プログラム ロジック マニュアル、R21.7、1973 年 4 月
書籍
- Brooks, Jr., Frederick P. ( 1975)。『The Mythical Man-Month: Essays on Software Engineering』、Addison-Wesley。ISBN 0-201-00650-2。(訂正を加えて再版、1982 年 1 月)
- Binder, Robert V. (1985)。『アプリケーション デバッグ: Cobol、アセンブリ、 PL /I、および Fortran プログラマー向け MVS アベンド ハンドブック』、Prentice-Hall。ISBN 0-13-039348-7。
- Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM 360 および初期の 370 システム、ケンブリッジ : MIT 出版 (pp. 291–345)
記事
- 「System/360 メインフレームの構築が IBM をほぼ破滅させた」IEEE Spectrum 2019-04-05 . 2022-05-02閲覧。
大衆文化における言及
外部リンク
- オペレーティング システム/360 1965–1972
- MVS... archive.org の長い歴史
