ジョブエントリー サブシステム (JES)は、 IBMのMVS ( MVS/370からz/OSまで) メインフレーム オペレーティング システムのコンポーネントであり、バッチやTSOセッションなどのジョブに似たワークロードの管理を担当します。JES2とJES3と呼ばれる 2 つの主要なジョブ エントリー システムがあります。これらは、たとえばバッチ ジョブや対話型セッションを効率的に実行できるように設計されています。2023 年 9 月にリリースされた z/OS 3.1 以降、IBM z/OS には JES3 が含まれなくなり、JES2 のみが付属します。JES3 サイトは JES2 に移行するか、IBM から JES3 の将来のサポートと開発を引き継いだ Phoenix Software International からJES3plus のライセンスを取得する必要があります。 [ 1 ]さらに、プライマリ JES (プライマリ JES 自体など) の制御下で実行されないタスクを担当するマスター サブシステムがあります。
ジョブ処理は、パイプライン処理による並列処理を実現するために、複数のフェーズに分割されます。これらのフェーズには、ジョブを読み取って解釈する入力処理、ジョブを実行する実行フェーズ、そしてジョブ出力を印刷またはDASDに保存する出力処理が含まれます。同じ実行フェーズにあるジョブは通常、特定のキューに存在すると言われます。例えば、現在実行中のジョブは実行キューにあります。
I/O効率を向上させるため、JESはスプーリングを実行します。これにより、複数のジョブが共通のストレージボリュームに同時にアクセスできるようになります。JESはチェックポイントと呼ばれる構造を使用して、現在実行中のジョブとその関連出力に関する情報をバックアップします。このチェックポイントは、予期せぬハードウェアまたはソフトウェア障害が発生した場合に、ジョブと出力を復元するために使用できます。
JES2 と JES3 は同じコア機能を提供しますが、一方の JES にのみ存在する特定の機能があります。これらの違いにより、特定の顧客インストールでは、一方の JES が他方よりも優先される場合があります。JCL は JES2 と JES3 の両方にジョブを定義するために使用されますが、一方の JES用に作成されたジョブをもう一方の JES で実行するには、通常、JCL に小さな変更を加える必要があります。よくある問題として、JES3 は実行前に JCL にリストされているすべてのデータセットが存在するか、またはデータセットが NEW,CATLG として定義されている前のステップがあるかをチェックしていました。JES2 はこれを強制せず、ジョブを使用するステップでデータセットが見つからなかった場合、ジョブは失敗しますが、ジョブの実行を許可していました。
歴史
先駆者
OS/360のバッチ ジョブ処理では、運用上の柔軟性とパフォーマンスが限られていましたが、この問題は、Houston Automatic Spooling Priority ( HASP ) とAttached Support Processor ( ASP )という 2 つの現場で開発されたパッケージによって解決されました。
ハスプ
HASPは、ヒューストンのジョンソン宇宙センターでIBM連邦システム部門の契約業者によって開発されました。[ 2 ] [ 3 ]当初は、単一のOS/360コンピュータのジョブスケジューリングと印刷・パンチ出力を管理していました。その後、マルチアクセススプール機能が追加され、複数のコンピュータが共通のジョブキューと印刷・パンチ出力キューを共有できるようになりました。
1972年のSystem/370の導入に伴い、IBMはHASPを書き直してシステムの標準機能として組み込み、ジョブ入力サブシステム2と改名しました。JES2は1973年にOS/VS2リリース2( MVSとも呼ばれる)で導入されました。[ 4 ] HASPラベルがソースコードから削除されるまでには何年もかかり、JES2が発行するメッセージには依然として接頭辞が付いています。いくつかのJES2コマンドは、下位互換性を維持するために、または$HASPの指定を引き続きサポートしています。[ 5 ]JES2HASP
ASP
ASPは当初Attached Support Processor [ a ] [ 6 ]の略称で、複数のシステムを効率的に利用し、ワークロードを共有できるようにするために開発されました。これにより、1つの中央システムが複数の接続されたシステムにジョブを分散させることができました。ASPは、 360/ 65メインプロセッサ上でOS/360、SVS 、7090エミュレーションを混在させて動作させることができましたが、他のS/360およびS/370モデルではOS/360とSVSのみの動作が可能でした。 [ b ] ASPは1967年3月に発表され、[ 7 ] : p.710 で「非常に安定して動作している」と報告されました。[ 8 ]
ASPは、データチャネル間通信を使用する7094/7040直接結合システムの設計から発展しました。 [ 9 ] IBM 7040を周辺機器として接続することで、プロセッサのスループットは2倍以上に向上しました 。
典型的なASP構成では、サポートシステムと呼ばれる360/40などの小型メインフレームが、メインシステムと呼ばれる1台以上の360/65以上のプロセッサを制御していました。コンピュータは、チャネル間アダプタに接続された各ホスト上のセレクタチャネルを介して接続されていました。これは、初期の短距離、ポイントツーポイントのコンピュータネットワークでした。
ASPでは、ジョブを実行するホストの入出力を管理するために追加のコンピュータを購入する必要がありましたが、プリンタやパンチカードリーダーを駆動するために必要なスタンドアロンのバイトマルチプレクサチャネルの高コストを考えると、経済的に正当化されました。360 /50以下のシステムにはバイトマルチプレクサチャネルが内蔵されていましたが、より高速な360/65以上のシステムでは、比較的高価なスタンドアロンユニットが必要でした。ASPを使用することで、バイトマルチプレクサチャネルのコストを回避でき、ジョブスケジューリング、印刷、カード処理の負荷軽減によって、これらの機能も大型マシンからオフロードされました。
信頼性の向上は、ハードウェアコストの増加を相殺するもう一つの利点でした。複合施設全体を停止させることなく、1つまたは複数の主要システムに障害が発生したり、メンテナンスのためにオフラインにしたりすることが可能になりました。
ASPは主に、最大6台の360/65を保有し、それぞれを別々のASPマシンでスケジュール管理する大規模な政府機関や防衛関連請負業者を対象としていました。まれに、ローカルASP(LASP)と呼ばれる、単一の大規模マシンでASP機能を実行するシステムもありました。
1970 年代には、プリンストン大学でIBM 360/91 メインフレームを制御するために ASP が導入されたことが注目されました。
1973年、IBMはASPを書き直し、MVSのみをサポートするJES3と改名した。[ 4 ]
代替案
OS/VS1にもJESがあり、これはJES1と呼ばれることが多かった。[ 10 ] [ 11 ]さらに、 MVSに組み込まれているマスター(MSTR )サブシステムは、マスタースケジューラやプライマリJES自体を含む、プライマリJESの制御外で実行されるジョブを開始することができる。[ 12 ]元々、マスターサブシステムのJCLはIBM提供のロードモジュール内にあったが、z/OSを介した現在のバージョンのMVSでは、システムパラメータライブラリ(PARMLIB)のメンバーとして提供できる。
カスタマイズ
ASPとHASPの両方のソースコードはIBMの顧客に提供され、多くの顧客がこれらのプログラムに大幅な機能強化を加え、その一部は公式製品に組み込まれました。HASPはASPよりもはるかに多くのシステムで利用されており、現代のz/OSシステムではJES3よりもJES2のシステムの方がはるかに多く利用されています。こうした独自の歴史のため、IBMはオペレーティング・システムの他の多くのコンポーネントとは異なり、JES2とJES3をオブジェクト・コードではなくソース・コードで出荷し続けています。
ユーザー作成拡張機能の保守性と保守性を向上させるため、JES は、処理の重要なポイントで JES からユーザープログラムに制御を渡すための一連の出口ポイントを提供します。これらの拡張機能により、特殊コマンド、カスタム印刷ページ見出し、非標準ジョブ処理などのカスタム機能を提供できます。
現在の開発
2017年、IBMはJES2を「戦略的」JESとする方針表明を発表しました。これは、今後の開発努力はすべてJES3ではなくJES2に重点を置くことを意味します。[ 13 ] IBMは、サポート終了日が発表されるまでJES3のサポートが継続されることを顧客に保証しました。[ 14 ] [ 15 ] 2019年2月、IBMはz/OS 2.5(2021年リリース予定)がJES3を含む最後のz/OSバージョンになると発表しました。[ 16 ] 2019年10月、Phoenix Software InternationalはIBMからJES3のソースコードのライセンスを取得し、その保守と機能強化を引き継ぐことを発表しました。[ 17 ]
サブシステムの種類
サブシステムは、マスターサブシステム(MSTR)、MSTRの制御下で起動されるプライマリJES、またはプライマリJESの制御下で起動されるセカンダリJESのいずれかです。プライマリJESは、APPCセッション、バッチジョブ、システムタスク、TSOログオンなどの実行を担当します。ただし、
- マスターサブシステム
- プライマリJES
- MSTRに明示的に指示されたタスク
- セカンダリ JES をテストするためのワークロード。
サブシステムインターフェース(SSI)
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2025年11月) |
サブシステムインターフェース[ 18 ] (SSI)は、数十のサブシステムに共通するインターフェースです。SSIは、IEFSSREQ呼び出しを適切なサブシステム(MSTR、JES2など)にルーティングする役割を担います。
さまざまなシステム コンポーネント (例: Allocation) は、サブシステムが処理を制御できるようにするために SSI を呼び出します。
サブシステムデータセット
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2026年1月) |
ジョブは、サブシステムによって実装されたデータセットを、SUBSYS=キーワードを用いて明示的に、または暗黙的に割り当てることができます。サブシステム・データセットには、ACB/RPLインターフェースを介して直接アクセスすることも、DCBと互換性インターフェース(CI)を介して間接的にアクセスすることもできます。
SYSIN
システム入力(SYSIN)データセットは、プライマリJESまたはセカンダリJESによって処理されるDD *またはDD DATAステートメントによって定義されます。所有JESはSPOOL上でデータを維持し、ACB/RPLを介してアクセスを提供します。
SYSOUT
システム出力(SYSOUT)データセットは、プライマリまたはセカンダリJES、あるいは同等の動的割り当てによって処理されるDD SYSOUT=ステートメントによって定義されます。所有するJESはSPOOL上のデータを維持し、ACB/RPLを介してアクセスを提供します。MSTRサブシステムは、別のサブシステムによって管理されるSYSOUTデータセットを割り当てることができます。
コンバータ/インタープリタ(C/I)
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2025年11月) |
コンバータ/インタープリタ[ 19 ](C/I)は、OS/360およびSVSのリーダー/インタープリタ(R/I)を大幅に改良したバージョンです。サブシステムはC/Iをユニットとして呼び出すことも、コンバータとインタープリタを個別に呼び出すこともできます。
コンバータ
コンバータは入力ストリームを解析し、JCLを内部テキストに変換します。大まかに言えば、各構文要素はキーと値を持ちます。値の範囲チェックは通常、インタープリタによって行われます。コンバータは、カタログ化されたプロシージャをジョブストリームにマージする役割を担います。
通訳者
インタープリタはテキストユニットの妥当性チェックを行い、それらを制御ブロックにコンパイルします。コンバータを呼び出すサブシステムに応じて、出力制御ブロックはシステム作業域(SWA)またはスプールデータセットに格納されます。
マスターサブシステム(MSTR)
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2025年11月) |
マスターサブシステム[ 20 ] (MSTR) はシステムタスクのみを処理し、バッチジョブは処理しません。特に、MSTR はプライマリ JES のSTART を処理します。START コマンドには、通常はプライマリ JES で実行される開始タスクを MSTR で実行するように強制するオペランドがあります。
ジョブ入力サブシステム/2 (JES2)
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2025年11月) |
ジョブ入力サブシステム/3 (JES3)
このセクションは拡張が必要です。不足している情報を追加していただければ幸いです。 (2025年11月) |
参照
- システム表示および検索機能(SDSF) は、JES2 と対話するための最も一般的なユーティリティです。
注記
- ^最終的に非対称マルチプロセッシングシステムに改名された
- ^ただし、 360/85上の OS/360と S/370 上の SVS は統合エミュレータをサポートしていました。
参考文献
- JES3イントロ
- JES3 の概要 - JES3 リリース 3 (PDF) . Systems. IBM . 1978年9月30日. GC28-0607-2 . 2025年10月7日閲覧。
- TNL . IBM . 1978年9月30日. GN25-0167.
- ロジックVol3
- OS/VS2 システムロジックライブラリ 第3巻 - VS2.03.804 - VS2.03.807 - VS2.03.810 (PDF) . Systems (初版). IBM . 1976年7月. SY28-0763-0 . 2022年6月12日閲覧。
- ABCs2
- コジモ、ギレルモ、クーナー、ルッツ(2018年4月)。『ABCs of z/OS System Programming Volume 2』(PDF)。レッドブック(第5版)。IBM。ISBN 978-0738443010. SG24-6982-04 . 2025年11月12日閲覧.
- z/OS の実装と日常的な保守、サブシステムの定義、IBM ジョブ入力サブシステム 2 (JES2) と JES3、リンク パック域 (LPA)、LNKLST、許可ライブラリー、システム変更プログラム/拡張 (SMP/E)、および IBM 言語環境®
- ABCs13
- Rogers, Paul; Vainikainen, Juha (2010年1月). ABCs of z/OS System Programming Volume 13 (PDF) . Red books (第2版). IBM . SG24-7717-01 . 2025年11月12日閲覧.
- JES3
引用
- ^ Temel, Meral (2023年9月11日). 「z/OS 3.1 Update」(PDF) . IBM . 2025年1月27日閲覧。
- ^ HASPシステム、1971年2月26日 HASP II (360D-05.1-014) V3M1 。バージョン3修正レベル1。IBM 。1971年2月26日。360D-05.1-014。
- ^ OS/VS2 HASP II バージョン 4 ユーザーズ・ガイド プログラム番号 370H-TX-001 VS2 SVS リリース 1.7 (PDF) (初版). IBM . 1976年9月. GC27-0052-0.
- ^ a b IBM Corporation (1973). OS/VS2 リリース2の紹介(PDF) .
- ^ Jeff Frey (2018年4月16日). 「JES Deathmatch」 . Terminal Talk (ポッドキャスト). 2018年4月21日時点のオリジナルよりアーカイブ。 2018年4月20日閲覧。
- ^ IBM System/360 および System/370 Asymmetric Multiprocessing System: General Information Manual、プログラム番号 360A-CX-15X。IBM 。GH20-1173。
- ^ Pugh; et al. (1991). IBM 360および初期の370システム. MIT Press. ISBN 9780262517201. 2013年2月12日時点のオリジナルよりアーカイブ。
- ^ 「代表的なASPインストール」 Computerworld 、 1967年9月13日。 2013年2月7日閲覧。
- ^ Auslander, MA; Larkin, DC; Scherr, AL (1981年9月). 「MVSオペレーティングシステムの進化」(PDF) . IBM Journal of Research and Development . 25 (5): 471– 482. doi : 10.1147/rd.255.0471 . S2CID 16424391. 2019年10月9日時点のオリジナル(PDF)からアーカイブ。 2019年10月8日閲覧。
- ^ Baily, JH; Howard, JA; Szcygieldski, TJ (1974). 「OS/VS1のジョブ入力サブシステム」 . IBM Systems Journal . 13 (3): 253. doi : 10.1147/sj.133.0253 . 2016年3月3日時点のオリジナルよりアーカイブ。 2013年2月11日閲覧。
- ^ IBM Corporation (1972). OS/Virtual Storage 1 機能補足(PDF) .
- ^ LogicVol3、p. 3-169、マスターサブシステム 「マスターサブシステムは、特定のシステムタスクを開始するために必要な機能を実行するルーチンの集合です。ジョブスケジューリングは通常、ジョブエントリサブシステムのサービスを使用してタスクまたはユーザージョブを開始し、ジョブのJCLを取得して解釈します。しかし、ジョブエントリサブシステムが利用できない場合に特定のシステムタスクが開始されます。これらのタスクには、システムで最初に開始されるタスクであるマスタースケジューラとジョブエントリサブシステムが含まれます。実際、SYSGEN時にそのように定義されたサブシステムはすべて、ジョブエントリサブシステムではなく、マスターサブシステムを介して開始されます。」
- ^ 「IBM z/OS バージョン2リリース3 - デジタル変革のエンジン」 IBM 2017年7月17日2018年5月4日閲覧
IBMは、JES2がz/OSの戦略的なジョブ入力サブシステムであると明言しています
。 - ^ 「Re: IBM、JES3を安定化へ(旧: IBM、最終的にJES3を廃止へ)」 . bit.listserv.ibm-main (メーリングリスト). 2017年8月. 2018年4月20日閲覧。
- ^ Watson, Cheryl (2017年7月27日). 「IBMのz14およびz/OS 2.3の発表」 . Watson and Walker . 2018年4月17日閲覧。
- ^ 「プレビュー: IBM z/OS バージョン2リリース4」www-01.ibm.com 2019年2月26日. 2021年1月23日時点のオリジナルよりアーカイブ。 2019年5月3日閲覧。
- ^ International、Phoenix Software (2019年10月2日). 「Phoenix Software International、IBM® JES3ライセンス契約を発表」 GlobeNewswire News Room (プレスリリース) . 2019年11月1日閲覧。
- ^ LogicVol3、pp.3-159–3-167、サブシステムインターフェイス。
- ^ LogicVol3、pp.3-219–3-259、コンバータ/インタープリタ。
- ^ LogicVol3、pp.3-169–3-191、マスターサブシステム。