JPH0820963B2 - 計算機システムを動作させる方法及び計算機システム - Google Patents

計算機システムを動作させる方法及び計算機システム

Info

Publication number
JPH0820963B2
JPH0820963B2 JP63161081A JP16108188A JPH0820963B2 JP H0820963 B2 JPH0820963 B2 JP H0820963B2 JP 63161081 A JP63161081 A JP 63161081A JP 16108188 A JP16108188 A JP 16108188A JP H0820963 B2 JPH0820963 B2 JP H0820963B2
Authority
JP
Japan
Prior art keywords
job
data set
jes3
internal read
function control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP63161081A
Other languages
English (en)
Other versions
JPS6455648A (en
Inventor
ケネス・アレン・カーン
ロバート・マーシユー・マーテンズ
ジユア・ペンテイ・ヴアーンカイネン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS6455648A publication Critical patent/JPS6455648A/ja
Publication of JPH0820963B2 publication Critical patent/JPH0820963B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、一般にオペレーティング・システムの構成
要素がジョブを受け取ることができるよりも高速でジョ
ブが構成要素に供給される、大型対話式コンピュータ・
システム環境で生じるボトルネックをなくすための方法
に関するものである。本発明は具体的には、ジョブによ
って作成される入力ストリームを動的かつ効率的に処理
するためのオペレーティング・システムの改善された内
部読取プログラム機能に関するものである。
B.従来技術 内部読取プログラム(INTRDR)は、IBM社の多重仮想
記憶/拡張アーキテクチャ(MVS/XA)オペレーティング
・システムのサブシステム機能である。具体的には、内
部読取プログラムは対話式コンピュータ・システムのジ
ョブ入力サブシステム(JES3)の一機能である。
MVS/XAによって管理される環境:IBM3090コンプレック
スの諸モデル等、MVS/XAが管理するコンピュータ・シス
テムは、多重プログラミング、すなわち多数のプログラ
ムを同時に実行することができる。たとえば地理的に遠
い場所にいる時分割ユーザなどのために、数百のジョブ
を同時に実行することができる。MVS/XAが管理するコン
ピュータ・システムはまた、多重処理、すなわち種々の
システム・ハードウェア装置を共用する2台以上のプロ
セッサの同時動作を行なうことができる。MVS/XAは各ユ
ーザに特有のアドレス空間(仮想記憶アドレス)を与
え、各アドレス空間に属するコードとデータの区別を維
持する。
MVS/XAはシステム内の各ジョブをタスクとして編成
し、それぞれのジョブの処理を試みる。あるジョブに対
するタスクは、通常システム資源の使用に関して互いに
競合すると共に、他のジョブのタスクとも競合する。MV
S/XAオペレーティング・システムの構成要素、すなわち
監視プログラムはシステム全体にわたってタスクの進捗
を制御する。監視プログラムは(入出力装置以外の)資
源を割り振り、各タスクに関する現在の情報を維持する
ので、タスクが中断された場合は、当該の個所から処理
を再開することができる。
MVS/XAオペレーティング・システムのモジュールは通
常、特定のタスクを制御し、または資源を管理するため
に必要な情報を制御ブロックと呼ばれる定義域に記憶す
る。同じ種類の多数のタスクを表わす制御ブロックは、
待ち行列として互いに連鎖することができる。すなわち
各制御ブロックは連鎖内の次のブロックの(次のブロッ
クを指す)開始アドレスを含んでいる。次に、プログラ
ムは待ち行列を探索して、特定のタスクまたは資源に対
するデータ、すなわち制御ブロックまたは必要なルーチ
ンのアドレス、実際のデータ(値、パラメータまたは名
前)または状態フラグあるいはそれらすべてを見つけ
る。制御ブロック内のすべてのフィールドは予め定義さ
れている。
MVS/XAの構成要素またはサブシステム(プログラム)
相互間の通信は、共通マクロ命令を使って行なわれる。
これらの命令によって、頻繁に使用される制御ブロック
をマップしたり、あるいは頻繁に使用されるシステム機
能を実行したりするプログラム・コード・セグメントが
呼び出される。データ・ファイルのオープン及びクロー
ズ、プログラムのロード及び削除、及びシステム・オペ
レータに対するメッセージの送信等の機能用のマクロが
ある。
ジョブ入力サブシステム:第1a図に示すように、JES3
12等のサブシステムは、サブシステム・インターフェ
ース(SSI)14と呼ばれるサブシステム構成要素を介し
てMVS/XAと通信する。MVS/XAは、実行中に各ジョブを管
理し(入力ストリーム中のJCLステートメント)、オペ
レーティング・システムのジョブ入力サブシステムは実
行の前後に各ジョブを管理する。この場合、MVS/XAオペ
レーティング・システムは各ジョブを処理するためにJE
S3を必要とする。JES3はJCLステートメントによって識
別される入力ストリーム(ジョブの集合)を読み取り、
それらのジョブを実行できるように準備するための作業
を実行する。この作業は入力ストリームからの特定のジ
ョブに関連づけることも、またMVS/XA実行のために多数
のジョブの準備を調整するというその役割を果たすため
にJES3が実行しなければならない作業に関連づけること
もできる。JCLが含まれていない特別な種類のJES3ジョ
ブがある場合もある。JES3は入力ストリーム中の各ジョ
ブを読み取り、それをスプール装置とも呼ばれる少なく
とも1台の直接アクセス記憶装置(DASD)に入れる。ス
プール装置は、入力装置と入力データを読み取るルーチ
ンとの間のバッファ、及び出力データを書き込むルーチ
ンと出力装置との間のバッファとして、JES3がジョブを
処理するために構成する制御ブロック及びデータの記憶
場所として、ならびに多重処理環境で個々のプロセッサ
に分配すべきデータの収集点として働く。スプーリング
とは、中間の処理段階でジョブ及びジョブ関連データを
スプール装置に一時的に記憶して、それらを容易にアク
セスできるようにすることである。各ジョブはジョブ・
クラス、優先順位、及び出力クラスを有するので、JES3
は、システム資源の効率的使用が促進されるように、ス
プール装置からジョブを選択する。
JES3の処理は、6つの段階、すなわち入力、変換/解
釈、装置割振り、実行のためのジョブのスケジューリン
グ、出力及びパージで行なわれる。入力時には、JES3は
カード読取り装置、遠隔端末装置、別のMVSまたはMVS/X
Aシステム、テープ駆動機構、DASD等の入出力装置から
ジョブの集合を読み取る。各ジョブ自体が入力ストリー
ムを作成することもできる。ジョブが作成するストリー
ムは、JES3の内部読取プログラムによって処理される。
一般に、内部読取プログラムは出力サービス、すなわち
出力待ち行列からの入力ストリームを、処理のためにJE
S3の入力サービス、すなわち入力待ち行列に転送する。
すなわちMVS/XAで実行中のどのジョブも内部読取プログ
ラムを使って、ジョブが作成する入力ストリームをJES3
に送ることができ、JES3は、ジョブが作成する複数の入
力ストリームを複数の内部読取プログラムを介して同時
に受け取ることができる。ジョブが作成する入力ストリ
ームは、カード読取り装置、遠隔端末装置または直接ア
クセス装置などの装置からは入力されない。その代わ
り、ジョブは入力ストリームを、出力データ・セット、
例えばジョブ制御言語(JCL)、データまたはJES3制御
ステートメントあるいはそのすべて及びコメントを含む
データ・セットとして作成する。
JCLは特別なバッチ言語であり、MVS/XAデータ・セッ
トを作成するために使用される。特別なJCLステートメ
ントを使って、データ・セットがJES3の内部読取プログ
ラムに割り振られる。言い換えれば、ジョブは出力デー
タ・セットを作成し、データ・セット識別(DD)ステー
トメントで宛先をSYSOUT=(*,INTRDR)としてコーデ
ィングすることにより、出力データ・セットがジョブと
して処理されることを要求する。このステートメントは
//ddnameDD SYSOUT=(*,INTRDR)という形式を有し,
“ddname"はデータ・セットをオープン、アクセス、及
びクローズするためにバッチ・プログラムが使用する名
前である。“DD"は、新しいデータ・セットまたは既存
のデータ・セットを割り振るために使用される。“SYSO
UT"はこのデータ・セットをシステム出力データ・セッ
ト、すなわちSYSOUTデータ・セットとして識別する。
“INTRDR"は、SYSOUTデータ・セットを入力ジョブ・ス
トリームとしてJES3の内部読取プログラムに送るべきで
あることをJES3に指示する(SYSOUTは、JES3によって管
理されるデータ・セットであり、後で考察する)。こう
すると、入出力装置を使って通常の方法で、ジョブが作
成する入力ストリームを再入力する必要がなくなる。一
般に、JES3の内部読取プログラムは、ジョブが作成する
入力ストリーム(SYSOUT等の出力データ・セット)を、
通常は入出力装置から得られるジョブを処理するJES3の
入力サービス・プログラムに直接転送する。JES3が入力
ストリームを読み取るときは、(入力ストリーム内の)
各ジョブに一義的なジョブIDを割り当て、各ジョブのJC
L、任意選択のJES3制御ステートメント、及び入力デー
タをスプール・データ・セット中に入れる。次に入力ス
トリームのジョブは、処理及びその後の実行のためにス
プール・データ・セットから選択される。
MVS/XAジョブ・スケジューラの開始プログラム機能か
らの作業要求に応答して、JES3がバッチ・ジョブを選択
する。それらのバッチ・ジョブは開始プログラムのアド
レス空間で実行される(開始プログラムとは、JES3を介
して提供されるバッチ・ジョブを要求し続いてそれを実
行するために、オペレータまたはJES3が開始させるMVS/
XAシステム・プログラムである)。TSO LOGON,MOUNTコ
マンド、またはSTARTコマンド(後で考察する)によっ
て作成されるジョブは、「要求選択」と呼ばれる処理に
よって入力されるとき、選択されて処理される。これら
のジョブはそれら自体のアドレス空間で実行される。
変換/解釈段では、JES3は変換プログラムを使って各
(入力ストリームの)ジョブのJCLステートメントを分
析する。変換プログラムはJCLを受け取り、それを、ジ
ョブ3及びMVS/XAのジョブ/スケジューラ機能が認識で
きる内部テキストに変換する。JES3は次に解釈機能を呼
び出してJCLをさらに分析し、制御ブロックを組立て
る。次に、内部テキスト及び制御ブロックが共にスプー
ル・データ・セットに記憶される。
ジョブは一般に、実行されるとき、テープまたはDASD
等の入出力装置及びデータ・セットを使用する必要があ
る。MVS/XAは、「装置割振り」と呼ばれる機能を使って
これらの資源をジョブに割り当てる。装置割振り機能は
ジョブのJCLステートメント内の情報を使って適切な資
源をジョブに割り当てる。ジョブは次にMVS/XAの開始プ
ログラムに送られる。
JES3のスケージュリング段では、MVS/XAのジョブ開始
機能からのジョブ要素に応答する。JES3はスプール・デ
ータ・セット上のジョブ待ち行列からジョブを選択し、
開始プログラムがそれを使用できるようにする。
JES3はすべてのシステム出力(SYSOUT)の処理を制御
する。SYSOUTデータは実行中にジョブによって作成され
る。実行中に、ジョブは印刷しなければならないシステ
ム・メッセージ、ならびに印刷または穿孔しなければな
らないデータ・セットを生成することができる。ジョブ
の終了後、JES3はジョブの出力特性をその出力クラス及
びセットアップの要件に関して分析し、その結果に応じ
てその出力を処理する。詳細に言うと、JES3は出力クラ
ス、装置使用可能度及び処理モード別に出力データを収
集し、それを出力処理のため一時的にスプール装置上に
あるSYSOUTデータ・セットで待ち行列に入れる。すなわ
ちMVS/XAは、SYSOUTデータ・セットに書き込むべきレコ
ードを収容するため、スプール装置上に一時的なSYSOUT
データ・セットを作成する。(ジョブの実行後、JES3は
SYSOUTデータを適当な出力装置で印刷または穿孔する。
印刷装置及び穿孔機はJES3の装置であり、システム初期
設定時にJESの装置として識別される。) パージ段では、あるジョブに対するすべての処理が終
了したとき、JES3は、そのジョブに割り当てられたスプ
ール空間を開放して、後のジョブに割り振るために使え
るようにする。
JES3入力サービス・プログラム:動的サポート・プロ
グラム(DSP)と呼ばれるJES3のプログラムが、実行の
ため入力ストリームに入れられたジョブを準備するため
にJES3が行なう必要のある作業を実行する。3種類のDS
Pがある。
1.JES3処理の固定部分である常駐DSP。
2.オペレータ・コマンド(*SALL DSP名)によって呼び
出されるDSP。
3.ジョブが必要とする作業の単位(または項目)を処理
するDSP。
JES3がジョブを処理するとき、その最終結果は1つま
たは複数のDSPの実行である。一般に、第1b図に示すDSP
18は1単位の作業を処理し、ある特定の機能を実行する
が、その作業は一対のJESモジュール、すなわちドライ
バ・モジュール20及びデータCSECT22を使って行なわれ
る(データCSECTは、ドライバ・モジュール、及びドラ
イバ・モジュールが呼び出す他のモジュールが使用する
作業域、定数及び共通ルーチンを含んでいる。しかし、
すべてのDSPがそれら自身のデータCSECTを必要とするわ
けではない)。JES3は内部読取り動的サポート・プログ
ラム(INTRDR DSP)ルーチンを使って、ジョブが作成す
る入力ストリームのJES3入力サービスへの転送を処理す
る。スケジューラ要素を有するジョブが作成されると、
DSPが自動的に開始する。DSPはそれ自体がJES3のタスク
である。JES3はDSPを使ってそれ自体の内部ディスパッ
チングを行なう。入力サービスに転送すべきJES3ジョブ
が作成した入力ストリームの現在のロードを処理するた
め、オペレータは*,INTRDRコマンドを使って、必要な
数の内部読取り動的サポート・プログラム(INTRDR DS
P)のコピーを呼び出す。
一般に、すべてのDSPは、第1b図に示す機能制御テー
ブル(FCT)連鎖24と呼ばれるJES3マスタ・ディスパッ
チング待ち行列を使ってディスパッチされる。DSP18をF
CT入力24aと「接続」する線26によって示唆されるよう
に、各DSPは、FCT内の1つまたは複数のFCT項目に対応
する。JES3は、MVS/XAがタスク制御ブロック(TCB)を
ディスパッチするのとほとんど同じ方式で、FCT項目を
ディスパッチする。DSPを表わすFCT項目は、FCT連鎖を
構成する一連の要素中の1つの要素である。FCT連鎖の
各要素は、DSPに割り当てられた優先順位に従って最高
の優先順位から最低の優先順位へと配列される。一般
に、FST項目は、すべてのジョブについてJES3のディス
パッチ可能な作業単位を表わす。
2種類のFCT項目、すなわち常駐FCTと非常駐FCTがあ
る。常駐FCT項目は、ディスパッチング待ち行列に動的
に追加されることも、またディスパッチング待ち行列か
ら動的に除去されることもない。これらの常駐FCT項目
は、オペレータ通信及び出力サービス等必要とされるJE
S3機能を実行するDSPを表わす。非常駐FCT項目は必要に
応じてディスパッチング待ち行列に追加され、またディ
スパッチング待ち行列から除去される。これらの非常駐
FCT項目はオペレータ・ユーティリティ機能ならびにJES
3のコア処理を実行する。
JES3のジョブは、第1c図に示すように、ジョブ制御テ
ーブル(JCT)項目30と呼ばれる制御ブロックによって
定義される。JCTのジョブ構造はJES3によって作成され
る(JCLジョブ・ステートメントによって定義されるMVS
/XAジョブは、JCT項目によって定義されるJES3ジョブに
類似している)。すべてのJCT項目は、実行するべきJES
3、すなわちジョブの特性と、その特定ジョブを処理す
るために(順に)行なわなければならない各作業単位ご
とに1つのスケジューラ要素とを含んでいる。第1c図に
示すように、スケジューラ要素は、処理すべきJES3のジ
ョブの1つの段、すなわち変換/解釈(C/I)段(3
2)、MAIN段または装置割振り段(34)、SYSOUT出力処
理段(36)及びパージ段(38)を表わす。作業単位を表
わすこれらのスケジューラ要素は順次処理され、それぞ
れ、その特定スケジューラ要素が必要とする作業を実行
するDSPによって、FCT連鎖上で表わされる。一般に、JC
T項目内のスケジューラ要素は特定のMVS/XAジョブに対
する作業単位を表わす。ジョブ・セグメント・スケジュ
ーラ(JSS)は、第1d図に示すように、処理する用意が
できているスケジューラ要素を選択して、FCT連鎖24上
で項目を組み立て、これらのスケジューラ要素(32〜3
8)を表わすDSPが、それらスケジューラ要素が必要とす
る作業を行なうためにディスパッチされるようにする。
ジョブ・セグメント・スケジューラ(JSS)はジョブ待
ち行列(FCT連鎖)を優先順位の順に走査し、処理すべ
きスケジューラ要素をもつジョブを見つけ、そのスケジ
ューラ要素用の常駐待ち行列要素制御ブロック(RSQ)
を組み立て、常駐待ち行列を、そのスケジューラ要素が
必要とする機能を実行するためにディスパッチされるDS
Pに対応するFCT要素と関連づける。常駐FCT項目によっ
て表わされない各DSPについては、JSSがFCT項目を組み
立て、FCT連鎖に追加する。この「新しい」FCT項目も、
スケジューラ要素が要求する作業を実行するDSPを表わ
す。
JSSは、JES3のために、スケジューラ要素が定義するM
VS/XAジョブのために行なわなければならない作業をス
ケジューリングする。(JSSが行なうスケジューリング
は、多機能モニター(MFM)が行なうディスパッチング
に相当する。)JCT項目からジョブの他の制御ブロック
を指すポインタがRSQに入れられる。RSQは記憶装置内に
のみある大きな制御ブロックであり、状態フラグ、ジョ
ブ情報フィールド及びキューイング・ポインタ用の記憶
域である。RSQはスケジューラ要素の寿命の間だけ存続
する。
MFMは実際のJES3ディスパッチャであり、スケジュー
ラ要素の作業を遂行するため、FCTを走査して適当なFCT
をディスパッチする。MFMがディスパッチ可能なFCT項目
を見つけると、FCT項目からDSP環境を復元し、次に処理
のため制御権をDSPドライバ・モジュールに渡す。次
に、DSPはそのサービスを実行し、MFMは、DSPが制御権
を返してくれるまで、制御権を手放す。MFMは次に、DSP
の次のディスパッチのため、DSP環境(エジスタの内容
等)をFCT項目に保管する。MFMは次にFCTを再び走査し
始める。このJCT−FCT構造により、JES3がジョブ単位で
作業を記録及びスケジューリングし(JCT項目)、(ジ
ョブ内の)作業単位(FCT項目)で作業をディスパッチ
することが可能となる。JSSは、FCT連鎖上のJCT及び
(少なくとも1つのFCT項目によって表わされるスケジ
ューラ要素の作業を行なう)DSP中のスケジューラ要素
を用いて、JCTとFCTの間にインターフェースを設ける。
JES3ジョブのソース:JES3ジョブのソースとしては次
のように、幾つかのものがある。MVS/XA内部読取プログ
ラム、カード読取装置やDASD等の構内接続された装置、
遠隔接続装置、または(ネットワーキング環境内の)別
のJES3ノードから入力される通常のジョブ、操作員がMV
S STARTまたはMOUNTコマンドを出したとき、または時分
割オプション(TSO)のユーザがLOGONコマンドを入力し
たときに生じる「要求選択」ジョブ、及びJES3*CALLコ
マンドに応答して操作員の要求によって作成される「呼
び出されたジョブ」である。
内部読取プログラム・ジョブ:ジョブは通常、次の2
つの方法のどちらかでJES3の内部読取プログラム(後で
考察する)に提出される。1つの方法は、CLOSE(マク
ロ)を使ってSYSOUTデータ・セット、たとえば,SYSOUT
=(*,INTRDR)を使って内部読取プログラムに割り当
てられたデータ・セットを閉じることによる。CLOSEマ
クロに応答して、MVS/XAはCLOSE SVCルーチンを呼び出
し、このルーチンは、内部読取プログラムのジョブ・デ
ータ・セット(JDS)、すなわちSYSOUTデータ・セット
の情報をサブシステム・インターフェース(SSI)を介
してJES3に送る。SYOUTデータ・セット、すなわちJDS項
目を指すポインタを含んでいるステージング域(STA)
が作成される。STAはSSIを介してJES3のアドレス空間に
送られる。もう1つの方法は、時分割オプション(TS
O)のユーザがTSO SUBMITコマンドを使って対話式にジ
ョブ(要求選択ジョブ)を提出するものである。SUBMIT
コマンドの様式はSUBMIT dsnである。ただし、dsnはジ
ョブ入力ストリームを含んでいるデータ・セットであ
る。ユーザがSUBMITコマンドを出した結果、TSOは内部
読取プログラムのデータ・セットを動的に作成または割
り振り、ジョブ制御言語(JCL)レコードをSSIを介して
内部読取プログラムに書き込む。具体的に言うと、JES3
は2ないし9つのスプール・トラック・グループを内部
読取プログラムのデータ・セットに割り振る。このデー
タ・セットはJES3の複数レコード・ファイル(MRF)と
して処理される。資源割振りブロック(RAB)がTSOユー
ザのアドレス空間内で作成される。このブロックは、JE
S3がユーザのアドレス空間で読取り要求及び書込み要求
を処理するために使用するもので、そのデータ・セット
に割り振られたすべてのスプール・トラック・グループ
を指すポインタを含んでいる。JES3は内部読取プログラ
ムのデータ・セット用のジョブ・データ・セット(JD
S)項目を作成する。JDS項目はスプール上のデータ・セ
ットの最初のレコードを指すポインタを含んでいる。こ
のJDS項目は、TSOユーザを表わす内部読取プログラムの
ジョブに対応するJDSブロックの一部である。TSOは、SU
BMITコマンドで指定されるデータ・セットからのすべて
のレコードを読み込み、それらを内部読取プログラムの
データ・セットに書き戻す。レコードがすべて転送され
ると、TSOは内部読取プログラムのデータ・セットをJES
3のアドレス空間に送る。内部読取プログラムのデータ
・セットのJDS項目を指すポインタを含んでいるステー
ジング域(STA)が作成される。STAはSSIを介してJES3
のアドレス空間に送られる。どちらの場合でも、データ
・セットを処理することを求めるSSIの要求がJES3のア
ドレス空間に送られる。モジュール(IATMSGC)はこの
要求を受け取り、要求を処理するため、すなわちSTAを
処理するため、別のモジュール(IATDMJA)を呼び出
す。IATDMJAモジュールはジョブ番号(AJOBNUM)を受け
取り、次にSPINOFFマクロを出す。IATDMJAをモジュール
はモジュールIATOSDRを呼び出して、STAによってスピン
オフ・データ・セットとして指示された内部読取プログ
ラムのデータ・セットを処理する。すなわちモジュール
IATOSDRは新しい入力ジョブ・ストリームのJDS項目を
(内部読取プログラムのデータ・セットを有効に追加し
て)JOBO JDSブロック(後で考察する)に複写する。
言い換えれば、内部的に、出力サービスは、内部読取
プログラムに宛てられたデータ・セット、たとえばSYSO
UTデータ・セットをスピンオフ・データ・セットとして
扱う。このスピンオフ・データ・セットは、(データ・
セットを作成した)ジョブがまだ実行中にJES3がそれを
処理することができる。その際に、出力サービスは、JE
S3の初期設定中に作成される擬似ジョブ(JOBO)を表わ
す(データ・セットに対応する)項目をJDSブロックに
追加する。JOBOを厳密に使って、JES3のDSPによって作
成されたスピンオフ・データ・セットを記録する。出力
サービスは次にそのデータ・セット用の出力サービス要
素(OSE)を組み立て、そのOSEを出力サービスが保持す
るキューに入れる。この時点で、内部読取プログラム
(INTRDR DSP)のコピーがディスパッチされるまで、処
理は停止する。INTRDR DSPプログラムの空いたコピーが
ない場合は、操作員が*,INTRDRコマンドを使って内部
読取プログラムを呼び出すまで、何も起きない。
JES3内部読取プログラム−JOBO JOBOは、出力サービスの初期設定中にJES3がDASD上で
作成する特別な「擬似ジョブ」である。JOBOは、DDステ
ートメントを含んでいるジョブ・ストリームを表わす。
この「擬似ジョブ」のジョブ構造は、以下の制御ブロッ
クと共に作成される。(JCT項目と関連するこれらの制
御ブロックを第1e図に示す。) JCT項目30と同時に作成されるジョブ記述/説明ブロ
ック(JDAB)40。JDABはジョブに関するデータをDSPに
提供し、JCTのアクセスを不要にする。一般に、ジョブ
にとって必要な各DSPを説明するDSPをもたらすため、JC
T内の各スケジューラ要素を表わす項目がJDABに付加さ
れる。
ジョブ・データ・セット(JDS)42制御ブロックは、J
ES3の入力サービスの処理中に作成され、最初は、その
ジョブに対するJCL(JESJCL)を含むデータ・セット、
システムが生成するメッセージ.らびにDSPが生成する
メッセージ(JESMSG)用の2つのメッセージ、データ・
セット、及びそのジョブに対する任意のSYSINデータを
含んでいる。MVS/XAの実行中にデータ・セットがオープ
ンされたとき、SYSOUTデータ・セット用の(を指す)項
目(後で考察する)がJDSに追加される。このジョブ・
データ・セットは、SYSOUTデータ・セットに書き込まれ
たレコードをも含む。
ジョブ管理レコード(JMR)44制御ブロックは、入力
サービス処理中に作成され、ジョブ説明情報を含む。
出力サービス要素(OSE)46制御ブロックは、出力サ
ービス処理中に管理すべき1つまたは複数のデータ・セ
ットに関連する一組のSYSOUTデータ・セット特性を収容
するために作成される。ジョブに対する最初のOSEが入
力サービス処理中に作成され、スプール・ボリュームに
書き込まれる。後で出力サービス処理中に、このOSEは
完了され、そのジョブ用の別のOSEが作成されることが
ある。これらの要素は「出力待ち行列」になる。
ジョブ・トラック割振り(JBTAT)制御ブロック48が
作成される。これは、ジョブに割り振られたスプール・
トラック・グループのリストである。
ジョブに関係した制御ブロックは他にもあるが、本明
細書に記載した発明の実施について理解するためにそれ
らについて考察する必要はない。
JCTはJOBOと共に作成されないので、JOBOはスケジュ
ーラ要素がないため、JSSによるスケジューリングを受
ける資格がない。(すなわちJDABは、JSSがFCTの項目を
作成するために使用するスケジューラ要素を全く有さな
い。)JES3は、以下のものによってもたらされるスピン
オフ・データ・セットが出力サービスによって処理でき
るようになるまで、それらを記憶するためにJOBOを使用
するにすぎない。
1.すべての内部読取プログラム・データ・セット、 2.JES3のDSPによって作成されるスピンオフ・データ・
セット、及び 3.システム・ネットワーク体系/ネットワーク・ジョブ
入力ネットワークを介して他のシステムから提供された
ジョブ。
MVS/XAで実行中のジョブによって作成され、JOBOに記憶
されているスピンオフ・データ・セットは、内部読取プ
ログラムを使ってJES3の出力サービスに直接提供され
る。
内部読取プログラム処理:MVS/XAは、MVS/XAとJES3等
の1つまたは複数のサブシステムとの間の通信インター
フェースをもたらすSSIを介して、内部読取プログラム
に割り振られたデータ・セットをJES3に送ることによ
り、それらのデータ・セットを処理する。実際には、MV
S/XAはSSIを使って、JES3からサービスを要求する。要
求の中には、呼出しプログラムのアドレス空間でJES3の
SSIモジュールによって完全に処理できるものもある。
しかし、大部分の場合は、要求はJES3のアドレス空間の
サービスを必要とする。JES3のアドレス空間で、SSI要
求はモジュールIATMSGCによって処理される。モジュー
ルIATMSGCはモジュールIATDMJAを呼び出す。IATDMJA
は、上記で説明したように、JES3のSPINOFFマクロを介
して、データ・セットをスピンオフ処理に委ねる。
SPINOFFマクロはモジュールIATOSDRによって処理され
る。IATOSDRは、JOBOに属するJDSの各単一レコード・フ
ァイル(SRF)、すなわち各項目をスプール装置から読
み込む。IATOSDRは、使用されていないJDS項目を見つけ
たとき、またはJDS、すなわちSRF連鎖の最後のSRFに達
したとき停止する。使用されていないJDS項目が見つか
った場合は、IATOSDRは(内部読取プログラム)データ
・セットをJDS項目に複写する。そうでない場合は、SRF
連鎖の最後のSRF中に新しいJDS項目が作成され、データ
・セットがその「新しい」JDS項目に複写される。
JES3の内部読取プログラム(INTRDR)は「呼び出され
たジョブ」(要求)であり、JCLによって定義されない
(この呼び出されたジョブは*CALLコマンドに応答して
JES3によって内部的に生成される)。この呼び出された
ジョブに対応するJCT項目は、(JOBO JDS項目中のデー
タ・セットを処理することを求める)この要求及びパー
ジ・スケジューラ要素が必要とするDSP、すなわちINTRD
R DSPを表わすINTRDRスケジューラ要素を含んでいる。I
NTRDR DSPがディスパッチされると、そのデータ・セッ
トに対するOSEを読み取り、当該の項目をJOBOのJDS中で
探し出し、データ・セットを入力ストリームとして処理
するためJES3の入力サービスを呼び出す。JSSが作成す
るINTRDR DSPに対するドライバ・モジュールはIATISIR
である。IATISIRは、データ・セットを処理するため、
通常のJES3入力サービスDSPドライバIATISDVを呼び出
す。IATISDVはIATXOSPCマクロを出す。IATXOSPCマクロ
はJES3の出力サービス・ルーチンを呼び出して、JOBO上
の内部読取プログラム(スピンオフ)データ・セットを
指すJDSポインタを求めてJOBO JDS連鎖を走査する。JOB
O上のJDS項目を指すポインタが見つかった場合、それが
IATISDVに送り返される。IATISDVは次に、JOBO上のデー
タ・セットを、それが物理的カード読取り装置からきた
場合と同様に処理するため、別のモジュール(IATISL
G)をロードして処理する。次に、入力サービスは、そ
のジョブに対する新しいJDSを含む、データ・セット用
の通常のジョブ制御ブロックを作成し、元の出力データ
・セットに対応するJDS項目をJOBOのJDSから解放する。
JOBO JDS項目内のデータ・セットまたはジョブ・ストリ
ームが処理されたとき、すなわちIATISLGモジュールか
ら復帰する際に、IATISDVはIATXOSPCマクロを再び出し
て、別の内部読取プログラム作業を見つける。別のJDS
項目が見つかった場合、JOBO上のデータ・セットを処理
するため、制御権がIATISLGモジュールに戻される。JES
3の出力サービスが内部読取プログラムに対するJOBO JD
S項目をそれ以上見つけることができなくなるまで、上
記手順が続行される。JOBO JDS項目が見つからなくなる
と、制御権はIATISIRに戻り、IATISIRはそこで待機状態
に入る。IATDMJAによって別の内部読取プログラムのデ
ータ・セットがスピンオフされるまで、IATISIRはこの
待機状態に留まる。別の内部読取プログラムのデータ・
セットがスピンオフされた場合、IATOSDRは、データ・
セットを指すJDSポインタをJOBO JDS項目に追加した後
で、IATISIRをその待機状態から強制的に出させる。次
に、IATISIRはIATISDVを呼び出し、少なくとも1つの他
の内部読取プログラムのデータ・セットの処理に続い
て、再び待機状態に入る。内部読取プログラムのジョブ
がシステムからパージされるまで、この処理が続行され
る。
C.発明が解決しようとする課題 内部読取プログラムのジョブは、システム操作員によ
り手順で開始及び終了される。内部読取プログラムを開
始するには、システム操作員がシステム操作卓から*X,
INTRDRを出す。このコマンドが出されると、制御権は内
部読取プログラム・ドライバ(IATISIR)に移る。(内
部読取プログラムのジョブを除去する場合は、システム
操作員がシステム操作卓から*C INTRDRを出す。)この
手動処理は、特定の作業負荷を処理するためにこれらの
ジョブのうちのどれだけが必要かを。システム操作員が
判定(推測)しなければならないことを意味する。操作
員の推測が低すぎる場合は、作業負荷を効率的に処理す
るのに十分な内部読取プログラムがないことになる。操
作員の推測が高すぎる場合は、システムは1つまたは複
数の遊休内部読取プログラムを抱えるというオーバーヘ
ッドを有することになる。各遊休内部読取プログラムは
FCTによって表わされ、MFMがそれを走査して、それをス
ケジューリングする必要がなかったと判定しなければな
らない。
上記処理は、大型の対話式コンピュータ・システム環
境で、JES3がジョブ(要求)を受け取ることができるよ
りも速い速度でJES3にジョブが提出されるとき、「ボト
ルネック」を生じる。もちろん、要求が処理される度に
待ち行列は短縮されるが、要求が処理可能な速度よりも
速く到着する場合は、待ち行列は非常に長くなることが
ある。したがって、JOBO JDSの連鎖が非常に長くなり、
一度に連鎖内の1つの項目(レコード)にアクセスする
ために時間のかかる入出力が必要であり、かつ、必要な
場合に「新しい」レコードをどこに追加しなければなら
ないかを判定するために連鎖全体を読み取らなければな
らないので、出力サービス選択処理でバックログが生じ
る。言い換えると、すべてのソースから背景ジョブを処
理することを求める要求は、すべて単一の(長い)ディ
スク常駐のJDS待ち行列に入れられ、そのJDS待ち行列
は、JOBOと呼ばれる特別な永久ジョブに「固定」され
る。その結果、前景セッションとして稼働している端末
装置にいるTSOユーザから実行のため背景に提出された
ジョブを実行するための時間が長くなる。このことが発
生すると、ユーザのジョブが、たとえば時分割オプショ
ン(TSO)のSUBMIT命令によって、処理のため受け入れ
られているのに、それを探し出すころができないので、
ユーザはいらいらすることになる。すなわちユーザは、
ジョブにジョブ番号を付ける前に、たとえばTSO STATUS
コマンドまたは操作員のINQUIRYコマンドを使って自分
のジョブ状態を判定することができない。
もう1つの問題は、要求選択ジョブの処理、たとえば
TSO LOGON、及び開始されたタスク(開始プログラム)
が遅延することである。これは以下の結果である。
1.多数のジョブがJOBOに追加されるほど、連鎖(SRF)
レコードの追加により、そのJDSの大きさがそれだけ増
大する。その結果、入出力呼出しの数が増すに従って、
探索時間、すなわち連鎖レコードの探索が長びく。なぜ
ならば、各SRFレコードはディスク記憶装置から読み取
らなければならず、かつ、それが変更された場合はディ
スク記憶装置に書き戻さなければならないからである。
またこの長いJDS連鎖を処理するプログラムがTSO LOGON
の処理をも受け持っている。
2.モジュールIATMSGCは(別のモジュール(IATDMJA)に
対する呼出しを介して)JOBO JDSの処理を制御する。し
かし、モジュールIATMSGCはまた、要求選択要求、たと
えばTSO LOGON、MOUNTコマンド及びSTARTコマンドの処
理にも直接関係している。モジュールIATMSGCは、DSPの
最大使用カウントが1であるDSPドライバなので、一度
に1つの要求(ジョブ)しか処理できない。その結果、
内部読取プログラムのジョブと要求選択要求との間に処
理時間の競合が生じる。もちろん、そのために、TSOユ
ーザがシステムにロングオンする時間が過度に長くな
る。モジュールIATDMJAが内部読取プログラムのジョブ
の処理中に入出力に過度の時間を消費する場合、要求選
択ジョブは遅延し、JOBO JDSの使用中であれば中断する
ことさえある。(JOBO内部読取プログラムのサポートが
ない場合でも、パフォーマンスの研究によれば、IATDMJ
Aモジュールが主な入出力パフォーマンスのボルトネッ
クであることが判明している。) はっきりと、特定の数の内部読取プログラムが常にシ
ステム内にあるように選択した場合は、作業量、システ
ム規模、ユーザ数等に応じて、その特定数の内部読取プ
ログラムが多すぎたり、少なすぎたりすることがある。
少なすぎる場合は、やはり「ボトルネック」が生じる。
多すぎる場合は、作業を持つ内部読取プログラムが、シ
ステム資源、仮想記憶域及び実記憶域を浪費し、さらに
最も重要なことには、ジョブの待ち行列を走査してディ
スパッチすべき実際の作業を探すためにディスパッチが
必要とするサイクルを浪費することになる。また、将来
のことを考えると、内部読取プログラムのジョブを現在
のシステムに対して「最適」に選択したとしても、現在
のシステムよりもはるかに速くもっと多くの作業負荷を
処理することができる将来のシステムでは「ボトルネッ
ク」を生じることがあり得る。入出力速度がプロセッサ
の速度の増加と歩調を合わせて上がらない場合には、特
にそうである。
したがって、本発明の一目的は、オペレーティング・
システムの構成要素がジョブを受け取るよりも速く、構
成要素にジョブが提出されることによって生じるボトル
ネックをなくすことである。
本発明の一目的は、常に数が変化する入力ジョブ・ス
トリームを処理するのに使用できる内部読取プログラム
のジョブを、動的に、すなわち自動的かつ連続的に作成
し取り消すと共に、同時に過度のシステム・オーバーヘ
ッド及びスラッシングを回避することである。
本発明の一目的は、処理すべきデータ・セット数が時
間と共に変動するとき、操作員が内部読取プログラムの
ジョブを手動で開始または取り消す必要をなくすことで
ある。
D.課題を解決するための手段 オペレーティング・システムが実行するためのジョブ
を用意するサブシステムと通信するオペレーティング・
システムを備えた対話式コンピュータ・システムが開示
される。このコンピュータ・システムはさらに、ジョブ
が必要とする作業単位を処理するサポート・プログラ
ム、連鎖内の1つの項目がサポート・プログラムに対応
するようになっている機能制御テーブル連鎖、ジョブを
処理するために実行しなければならない作業単位に対応
するジョブ内のスケジューラ要素、及びジョブによって
作成された入力ストリームを含むデータ・セットを含ん
でいる。改善されたサブシステム入力処理は、動的に作
成された内部読取プログラムと関連するジョブ・データ
・セット制御ブロックにデータ・セットを直接転送する
こと、内部読取プログラム・ジョブ中のスケジューラ要
素に対応する内部読取プログラム・サポート・プログラ
ムを作成して機能制御テーブル項目に追加し、機能制御
テーブル項目をスケジューリングすること、内部読取プ
ログラム・サポート・プログラムをディスパッチし、デ
ータ・セットを処理することから成る。
E.実施例 上記の内部読取プログラム機能の問題点及び欠点を取
り除くため、MVS/XAの内部読取プログラム機能が改善さ
れた。具体的に言うと、内部読取プログラムのジョブ用
にもはや一つのJOBOを使用せず、JES3入力サービス(処
理)を改善し、それによって、上記「ボトルネック」を
なくす。一般に、(主サービス処理中に)新しいジョブ
作成入力ストリームがSSIを介してMVS/XAのJES3にとっ
て使用可能になると、直ちに、改善されたJES3入力サー
ビスが呼び出される。このJES3入力サービスは、動的に
(自動的に)作成された複数の内部読取プログラム・ジ
ョブ(INTRDR JCT)を含んでおり、そこでジョブ要求が
待ち行列に入れられる。改善されたJES3入力サービス
は、改善されたモジュールIATISDV及びIATISIRと、後で
考察する新しいモジュールIATISCDを含んでいる。IATIS
CDの機能としては、データ・セットをINTRDR JCTに直接
複写することがある。IATISCDはまた、必要なときにINT
RDR JCTを作成し、それらをディスパッチ可能なタスク
としてJES3ジョブ(FCT)の待ち行列(または連鎖)に
追加する。当該のINTRDR DSPがディスパッチされると、
そのINTRDR DSPはそれ自体のJDSを使ってデータ・セッ
トを探し出す。INTRDR DSPは次に入力サービス(IATISD
V)を呼び出して、データ・セットをジョブ作成入力ス
トリームとして処理する。(ここで考察するアンカー・
ブロック内の)内部読取プログラム使用カウンタと(DS
P辞書内の)最大使用カウンタ、すなわちDSP最大カウン
トが、JES3の初期設定中にセットされる。IATDMJAモジ
ュールは、それ自体の入出力要求をIATMSGCモジュール
と非同期的に処理するように変更されている。
JES3の内部読取プログラムに入力ジョブ・ストリーム
が提出されると、MVS/XAは内部読取プログラムのデータ
・セットを動的に作成する。一般に、それには、データ
・セットに対するスプール空間を(直接アクセス記憶装
置上で)トラック・グループの形で割り当てること、及
びバッチまたはTSOユーザのジョブ(JCT)を表わす(と
関連する)JDS項目をJDS制御ブロック内に作成すること
が含まれる。上記で考察したように、JDS制御ブロック
内のJDS項目は、データ・セットを含むスプール空間を
指す。第2図に示すように、MVS/XAが、内部読取プログ
ラムのデータ・セットに含まれる入力ジョブ・ストリー
ムをJES3に提出する用意ができると、MVS/XAはユーザの
アドレス空間内にステージング域(STA)13を作成す
る。このSTA13は、SSI要求、たとえば宛先コードを処理
するためにJES3のアドレス空間が必要とするすべての情
報を含んでいる。内部読取プログラムのデータ・セット
JDS項目15のアドレスが、第2図の線3で示すように、S
TA13に複写される。STA13のこの項目は、バッチまたはT
SOユーザ・ジョブ19と関連するJDS制御ブロック17から
複写される。STA13は次にSSI21を介してJES3のアドレス
空間に送られる。IATMSGCモジュールはSTA13のアドレス
を受け取り、それをJES3のアドレス空間内で処理する。
第3図に示すように、IATMSGCモジュール27は、JDS項目
を処理するためにIATDMJAモジュールを呼び出す代わり
に、新しいFCT制御ブロック23を作成しスケジューリン
グする。新たに作成されたFCTブロックは、DSPドライバ
・モジュールとしてIATDMJA25と共に実行されるよう
に、初期設定される。新しいFCTブロック23は、第3図
に示すIATMSGCモジュール27によって既存のFCT連鎖内に
その優先順位の順に挿入され、JES3のアドレス空間内の
STAを指すポインタを含んでいる。すなわちFCT内にSTA
のアドレスを保管する(これは、JES3のJCT内のスケジ
ューラ要素に応答してJSSによってFCTが作成され、既存
のFCT連鎖に追加されるという、通常の処理に対する例
外である)。IATMSGモジュールは次に、JES3のアドレス
空間で処理すべき別のSTAを探索する。新しいFCT、すな
わちFCT23が最終的にMFMによってディスパッチされる。
IATDMJAドライバ・モジュール25は、まずSTAを検索
し、スプール、すなわちバッチまたはTSOユーザのJDS17
から内部読取プログラムのデータ・セットのJDS項目(I
NTRDR)15を検索し、第4図に示すように、項目15のロ
ーカル・コピー、すなわちINTRDRコピー31を作成し、元
のJDS項目(INTRDR)15をクリア、すなわち「ゼロにす
る」ことによって、IATMSGCモジュール27と非同期的に
実行される。これにより、バッチまたはTSOユーザ・ジ
ョブによって最初に作成された内部読取プログラム・デ
ータ・セットの「所有権」が(直接)JES3に有効に移転
される。ジョブ番号を受け取ると、モジュールIATDMJA
はモジュールIATISCDを呼び出して、入力ジョブ・スト
リームを含むJDS項目(INTRDRコピー31)を処理する。
第5a図を参照すると、モジュールIATISCDは、内部読
取プログラム・アンカー(IRA)・ブロック33が存在し
ていない場合は新しいアンカー・ブロックを作成し、初
期設定する。IRAブロック内のIDLEカウンタ35は、どれ
だけ多くの内部読取プログラム要素(IRE)ブロックで
その遊休フラグが「オン」にセットされているかを示
す。各遊休IREは、ジョブ・キューで待機状態(作業を
待っている)に維持されている内部読取プログラム・ジ
ョブに対応する。IDLEカウンタの内容が0よりも大きい
場合は、IATISCDは、そのIDLEフラグがセットされた最
初のIREブロック、すなわち第5a図に示すIDLE*を求め
て、IRAブロックが指すIRE連鎖を走査する。第5a図に示
す3つのIREブロックのうち、IDLEフラグ及びIDLEカウ
ンタ35の内容によって示されるように、1つだけ、すな
わちIRE37だけが「遊休」である。IRE37のIDLEフラグが
セットされていると、(遊休)IRE37と関連するINTRDR
FCT、たとえば第6図のFCT24が、それに割り当てられた
入力ジョブ・ストリームの処理を完了し、その他の作
業、すなわち別の入力ジョブ・ストリームを持っている
(使用可能である)ことを示す。INTRDR FCT24は遊休、
すなわち待機状態にある。待機状態のINTRDR JCTがジョ
ブ待ち行列にない(遊休IREが見つからなかった)場合
は、IATISCDは、第5b図に示すように、INTRDR JCT53を
それに関連する(上述の)JMR55、JDS57及びJDAB59制御
ブロックと共に作成する。JDS項目、すなわちINTRDRコ
ピー31が、新しく作成されたINTRDR JCT53に対応する新
しい(かつ唯一の)JDS項目(INTRDR第2コピー61)に
複写される。IATISCDモジュールは、次にINTRDR JCTをJ
ES3内の既存のJCT連鎖(ジョブ待ち行列)に追加し、IN
TRDR JCTはそこで最終的にJSSによってスケジューリン
グされる。IATISCDモジュールはまた、IRA内のACTIVEカ
ウンタ43(第5a図)を1つだけ増分する。新しいINTRDR
JCT53は、さらに2つのスケジューラ要素、すなわちIN
TRDRスケジューラ要素63とPURGEスケジューラ要素65を
含んでおり、これらのスケジューラ要素は、FCT連鎖上
でそれらが必要とする作業を実行するDSPによって表わ
される。
すなわちIATISCDはJDS項目(INTRDRコピー31)をJES3
内の(既存の)内部読取プログラム・ジョブのJDSに複
写する。使用可能な内部読取プログラム・ジョブがない
場合は、IATISCDはそれを1つ作成してJES3 JCT(ジョ
ブ)待ち行列に追加する。IATISCDモジュールがエラ状
態で戻された場合は、新しいジョブに対して得られたジ
ョブ番号が戻される。いずれにせよ、STAが呼出しモジ
ュールに戻され、IATDMJA FCT24がFCT連鎖から除去され
る(IATDMJAはスピンオフ処理用のデータ・セットを提
出しないので、SPINOFFマクロは出されない)。その結
果、JOBO(及びそのJDS連鎖)と出力サービスが、元の
データ・セットが作成された時から内部読取プログラム
がそれを処理する時までの間に内部読取プログラム・ジ
ョブをスケジューリングし「記録」するために使用され
ることはない。すなわち内部読取プログラムに送られる
データ・セットを直接処理するのは、JES3入力サービス
だけである。内部読取プログラムに宛てられたデータ・
セットは出力サービス保持待ち行列には入れられない。
すなわちモジュールIATISIRは作業選択パラメータ域を
作成しない。
第5a図に示すように、IRAブロック33は、JES3アドレ
ス空間内のJES3転送ベクトル・テーブル(TVT)39によ
って指示される(TVTは、JES3アドレス空間の大部分の
制御ブロックのアドレスと、大部分のJES3サービスの入
口点アドレスと、すべてのJES3機能の状態情報とを含ん
でいる)。
IRAは、内部読取プログラム・ジョブのスケジューリ
ングを制御するためにJES3が必要とする情報を含んでお
り、矢印41で示すように、IREの連鎖に対する(を指
す)アンカーとして働く。IRAは、どれだけ多くの内部
読取プログラム・ジョブ(JCT)がIATISCDモジュールに
よって作成されたかのカウント(ACTIVEカウンタ43の内
容)、ならびにそれらのジョブのどれだけ多くが作業を
待っているかのカウント(IDLEカウンタ35の内容)を含
んでいる。
第5a図に示すIRE連鎖内の各IREブロックは、JES3内で
見つかった後続の各内部読取プログラムDSPに対応す
る。すなわちIATISCDモジュールによって予め作成され
たINTRDR JCT内で見つかったINTRDRスケジューラ要素に
応答してJSSがスケジューリングしDSPを表わす各INTRDR
FCTに対応する。1つのIREブロックが1つのINTRDR FC
Tに関連づけられる。IREブロックは、JES3が個々の内部
読取プログラムDSPのスケジューリングを制御する際に
使用する情報を含んでいる。
上記で指摘したように、IATISCDは、IREブロックが指
す最初のIREブロックから始めて、遊休内部読取プログ
ラムFCT、たとえばFCTブロック23を表わすIRE、たとえ
ばIREブロック37を見つけるまで、IRE連鎖全体を走査す
る。第6図に示すように、遊休IREブロック37はRESQUEU
E(RSQ)43を指し、RSQ43は遊休INTRDR FCT24を指す。R
SQ43は、INTRDR FCTが遊休になったとき、あるジョブに
対するJDSを探し出すために使用される。INTRDRFCTに対
するドライバ・モジュールは、IATISIRモジュール49で
ある。IRE37内の遊休フラグは、IATISIRが前の内部読取
プログラム・データ・セットの処理を終了し、別のデー
タ・セットを待っていることを示す。この待機は、第11
図のブロック280に示す待機/ポスト・インターフェー
スを介して行なわれる。IATISIRは、記憶域のバイト45
をその待機バイトに指定し、それを0に初期設定するこ
とによって、待機状態に入る。JES3は、このバイトが変
更されるまで、INTRDR FCTを再スケジューリングしな
い。バイトが変更されるとき、それをポスティング(PO
STING)と呼ぶ。バイト内の各ビットは異なるポスティ
ング状態を表わすことができる。たとえばIATISIRに対
する待機バイトは実行作業ビット及び取消しビットを有
する。選択された遊休INTRDR FCTに属するINTRDR FCTに
対する待機バイトのアドレスは、第6図に示すように、
関連するIREブロック内にある。
遊休INTRDR FCTが見つかると、IATISCDモジュール
は、RSQ43が指すINTRDR JCT53の最初の(かつ唯一の)J
DS項目(INTRDR第2コピー61)に内部読取プログラム、
データ・セットJDS項目(INTRDRコピー31)を複写す
る。IATISCDは、IRE37から待機バイト45のアドレスを受
け取り、IATISIR49に実行作業要求(2進01000000)を
ポスティングする。IATISCDモジュールはIRE37の遊休フ
ラグを「オフ」に(リセット)し、IRA33内の遊休カウ
ンタ35を減分する。次に、JDS項目が指す内部読取プロ
グラム・データ・セット、すなわち入力ジョブ・ストリ
ームを処理するため、INTRDR FCT24をMEMによってスケ
ジューリングし直すことができる。
JSSは、INTRDR JCT53内のINTRDRスケジューラ要素63
を処理するとき、第7図に示すINTRDR FCT75を作成す
る。INTRDR FCTに対するドライバ・モジュールはIATISI
R71である。INTRDR FCTをMEMが最初に作成するとき、IA
TISIRは、それを表わすための(第7図に概念的に示す
ような)IREブロックを作成する。このIREはIRE連鎖の
始めに追加される。IATISIRモジュールは次に、INTRDRJ
CTのJDS項目(INTRDR第2コピー61)が指す入力ジョブ
・ストリームを処理するために、JES3入力サービス、す
なわちIATISDVモジュールを呼び出す。JES3入力サービ
ス(IATISDV)が完了すると、制御権をIATISIRに戻す。
IATISIRは次に、それが表わすINTRDR FCTが現在のシス
テム作業負荷を処理するために必要かどうか判定する。
IATISIRがこの判定をどのように行なうかについての詳
細を以下に説明する。
作業が割り当てられると、すなわち内部読取プログラ
ム・ジョブがJSSによってスケジューリングされると、
作業を処理するために、モジュールIATISDVがロードさ
れ、IATISIRモジュールによって呼び出される。前と同
様に、IATISDVモジュールは出力サービスから作業、す
なわち内部読取プログラム・データ・セットを得るため
のマクロ(IATXOSPC)を出さない。その代わり、JDS項
目、すなわちIATISDVモジュールに対するデータを、出
力サービスからではなく、すなわちJOBO JDSからではな
く、内部読取プログラム・ジョブJDS(第5b図に示すINT
RDR第2コピー61)から直接かつ直ちに受け取ることが
できる。(ジョブ・ストリームの処理が完了して)、IA
TISDVモジュールから戻るとき、IATISIRモジュールに制
御権が戻り、IATISIRモジュールは、JDSに問題があった
ためにINTRDRFCTが操作員またはIATISCDモジュールによ
って取り消された場合、遊休内部読取プログラム数が所
定の限度を超えている場合、あるいは活動状態のINTRDR
FCTが最大INTRDR DSPカウントよりも大きい場合に、内
部読取プログラムを取り消す。(この後者の取消しは、
スケジューリングできない内部読取プログラムがJES3の
ジョブ待ち行列で待つことがないようにするために行な
われる。)現在のシステム作業負荷を処理するためにIN
TRDR FCTが依然として必要であり、取り消すべきでない
と判定された場合は、IATISIRは待機状態に入る。新し
いデータ・セットが作成されると、IATISCDモジュール
はそのJDS項目(INTRDRコピー31)を内部読取プログラ
ム・ジョブ(INTRDR JCT53)のJDS(INTRDR第2コピー6
1)に複写し、IATISIRを強制的にその待機状態から出
す。次に、IATISIRはIATISDVを呼び出し、上記処理を繰
り返す。実行すべき作業がない場合、INTRDR FCTは取り
消される。内部読み取りプログラム・ジョブを取り消す
には、IREブロックを連鎖から除去すること、IRA内の活
動カウンタを減分すること、制御権をJSSに戻すことが
必要である。JES3 DSPによって作成されたスピンオフ・
データ・セットを以前に記録したJOBOを処理するため
に、IATDMJAモジュールがIATMSGCによって呼び出される
ことはもはやないことに留意されたい。内部読取プログ
ラム機能に改善を加えた結果、内部読取プログラム・ジ
ョブのスケジューリング及び「記録」は最適化され、同
時にジョブの処理の際に呼び出されるステップの数が減
少した。
モジュールIATISCDを使って、内部読取プログラム・
ジョブは動的に(自動的かつ連続的に)作成され(かつ
スケジューリングされ)、取り消される。操作員はもは
や、どのくらい多くの内部読取プログラムをスケジュー
リングすべきか推定する必要がない。システム作業負荷
が増大すると、JES3はIATISCDを用いて新しい内部読取
プログラム(ジョブ)を自動的に作成し、また処理を完
了して待機している、以前に作成された内部読取プログ
ラム(ジョブ)に作業を割り当てる。データ・セットの
動的処理を扱うため、内部読取プログラム・ジョブを記
録するための上記制御ブロック構造が作成されている。
第9図は、上記で詳述した、改善された内部読取プロ
グラム機能の重要な要素のすべてを組み合わせたもので
ある。IRAブロック90はIRE連鎖92を指し、連鎖内の各IR
EブロックはRSQを指す。各RSQは、FCT連鎖の一部である
内部読取プログラムFCT、たとえばINTRDR FCT94を指
す。各スケジューラ要素、すなわちINTRDR SE98は、FCT
連鎖上で、内部読取プログラムJCT、たとえばINTRDR JC
T96内のその特定スケジューラ要素に必要な作業を実行
するDSPによって表わされる。各内部読取プログラム・
ジョブはJDS、たとえばINTRDR JCT96に対応するJDS100
を有し、INTRDR JCT96は処理すべきジョブ作成入力スト
リームを含むデータ・セットを指す項目を含んでいる。
JSSは、スケジューラ要素は必要とする作業を実行する
ためにDSPをディスパッチすることにより、処理する用
意のできている各スケジューラ要素を選択する。この場
合、INTRDR SE98は、JDS100内の項目によって識別され
るジョブ作成入力ストリームを、処理のためJES3の入力
サービス・プログラム、たとえばIATISDVに直接転送す
る。INTRDRスケジューラ要素と関連する各DSPに対する
トライバ・モジュールはIATISIRである。
要約すると、第10図の流れ図に示すように、ブロック
110で、IATISCDモジュールが、IATDMJAによって呼び出
され、ブロック120で、IRAブロックが存在するかどうか
判定する。(IRAブロックが存在しない場合は、ブロッ
ク130で示すように、IATISCDがIRAブロックを作成し、
初期設定する。)IATISCDモジュールは次に、IRAが指す
IRE制御ブロック(IATYIRE)の現在の連鎖を走査し、判
断ブロック140で示すように、遊休内部読取プログラム
・ジョブ(INTRDR FCT)を探索する。遊休内部読取プロ
グラム・ジョブが見つかった場合は、JDS項目内の「新
しい」データ・セットが、以前から遊休状態の内部読取
プログラム・ジョブJDSに追加(複写)される。ブロッ
ク150で示すように、遊休カウンタが減分され、IREで遊
休フラグがリセットされる。実行作業フラグがセットさ
れ、IATISIRがポスティングされ、ブロック160で示すよ
うに、通常、IATDNJAモジュールに戻る。しかし、内部
読取プログラム・ジョブが見つからなかった場合は、ブ
ロック170で示すように、IATISCDモジュールは、幾つか
のジョブ制御ブロックを作成し初期設定することによっ
て、新しい内部読取プログラム・ジョブを作成する。次
に、その内部読取プログラム・ジョブに対してJCTが作
成されて初期設定され、ブロック180で示すように、JCT
ジョブ待ち行列に追加される。新しい制御ブロックがす
べて書き出され、新しい内部読取プログラム・ジョブ構
造がJES3の入力サービス(ジョブ待ち行列)に追加され
る。次に、IRA内の活動カウンタが増分される。上記ス
テップのいずれかで何らかのエラーが発生した場合は、
IATDMJAモジュールに戻る。
IATISIR IATISIRがIATISDVから制御権を受け取り、最近使用さ
れたINTRDR FCTが現在のシステム負荷を処理するために
まだ必要かどうかを判定する。この判定を行なうため、
第11図の流れ図に示すように、IATISIRは以下の処理を
行なう。
IATISCDモジュールは、第11図の200及び210で示すよ
うに、JES3内のスケジューリングされた内部読取プログ
ラム・ジョブに対する新しい内部読取プログラム要素
(IRE)ブロック(IATIRE)を作成し、初期設定する
(これは次に既存のIRA連鎖に追加される)。
1.すでに最大DSPカウント、すなわち可能なFCTの最大数
に達しているDSPを表わすスケジューラ要素にJSSが遭遇
した場合、JSSはそのスケジューラ要素をスケジューリ
ングしない。第11図のブロック220で示すように、IRA内
の活動状態の内部読取プログラム・カウント(第5a図の
活動カウンタ43)が現在の最大DSP使用カウントよりも
大きいとIATISIRが判定した場合、(活動ジョブを取り
消すことによってINTRDR DSP「使用」カウントが減分さ
れるまで)スケジューリングされない内部読取プログラ
ム・ジョブが少なくとも1つ(JES3のジョブ・キュー上
にINTRDR JCTが少なくとも1つ)ある。第11図のブロッ
ク240及び250で示すように、IATISIRは次にその内部読
取プログラム(INTRDR FCT)を取り消し、別の(待機
中)INTRDR FCTのスケジューリングの準備を装備する
(場所を空ける)ことを決定する。そうでない場合は、
現在実行中の1つ以上のINTRDR FCTが取り消されるまで
JSSによってスケジューリングされないINTRDR JCTが、J
CT連鎖上に存在する。(最大DSP(使用)カウントは、J
SSがいつでも一度に作成しスケジューリングすることが
できるINTRDR FCTの最大数を示す。活動カウントは、IA
TISCDによって作成されスケジューリングされるINTRDR
JCTの数を示す。) 2.IATISIRは、遊休状態にある内部読取プログラム・ジ
ョブ(INTRDR FCT)の割合、すなわち遊休(INTRDR FC
T)カウントと活動(INTRDR JCT)カウントの比率を求
める。第11図のブロック230で示すように、現在の内部
読取プログラム・ジョブ、すなわちINTRDR FCTを遊休状
態にすると、遊休状態の内部読取プログラム・ジョブの
割合が50%よりも大きくなる場合は、第11図のブロック
240で示すように、IATISIRはこの内部読取プログラム・
ジョブ(INTRDR FCT)の取消しに取り掛かる。その場
合、IATISIRは、残りの取り消されなかったINTRDR FCT
が現在のシステム作業負荷を処理するのに十分であるも
のと想定する。しかし、INTRDR FCTを取り消すと、活動
状態のINTRDR FCTが所定の下限、たとえば2よりも少な
くなる場合は、システム作業負荷の突然の急増に対処す
るために使用できるINTRDR FCTがいつも十分に存在する
ようにするため、INTRD RFCTは取り消されない。IATISC
Dは常に最小数の内部読取プログラム・ジョブを維持す
る。このことは、遊休状態の内部読取プログラム・ジョ
ブの割合が50%を超えた場合でもあてはまる(この実施
例の場合は、最小数は2である)。
IATISIRモジュールはまた、その待機バイト、たとえ
ば第6図及び第11図の流れ図のブロック215に示す待機
バイト45内で取消しポスト(2進10000000)を受け取っ
た場合、INTRDR FCTを取り消す。このことは、IATISDV
がまだ内部読取プログラム・データ・セットを処理して
いる間に、システム操作員がシステム操作卓を介してIN
TRDR FCTを取り消した場合に行なうことができる。INTR
DR FCT取消し処理は第8図に示されている。取り消され
たINTRDR FCT83に対応するIRE81がIRE連鎖から除去され
る。IRA33内の内部読取プログラム活動カウンタ43が1
だけ減分される。INTRDR FCTが取り消されたとき遊休状
態にあった場合は、内部読取プログラム遊休カウンタ35
も1だけ減分される。次に、制御権がJSSに戻り、JSSは
INTRDR JCTからのパージ・スケジューラ要素をスケジュ
ーリングする。(パージ・スケジューラ要素65は第5b図
のINTRDRJCT53の一部として示してある。) 上記いずれかの状態によって内部読取プログラム(IN
TRDR FCT)がIATISIRによって取り消された場合、第11
図のブロック260で示すように、IREがIRE(連鎖)キュ
ーから除去され、すべてのカウンタがそれに応じて更新
される。JSSに戻り、JSSはFCT連鎖からINTRDR FCTを除
去し、INTRDR DSP「使用」カウントを減分し、第11図の
ブロック220でINTRDR JCT除去・スケジューラ要素を処
理する。そうでない場合は、第11図のブロック250で示
すように、IATISIRは、IATISCDからの他の作業(処理す
べき別のデータ・セット)を(または取消しポストを)
待って待機状態に入る。すなわち現在のシステム作業負
荷を処理するためにINTRDR FCTを保持することを決定し
た後、IATISIRはその待機バイトを0にセットし、そのI
REを遊休フラグをセットし、(IRA内の)遊休カウンタ
を1だけ増分し、行なうべき作業または取消ポストを待
つ。IATISIRが実行作業ポスト(第6図参照)を検出し
た場合、IATISIRは、新しい入力ジョブ・ストリームを
処理するために、JES3入力サービス、すなわちIATISDV
を再び呼び出し、上記処理を繰り返す。この新しいデー
タ・セットの処理中にシステム操作員が取消し(INTRD
R)コマンドを入力した場合、IATISIRは取消しポストを
検出し、INTRDR FCTを取り消す。
内部読取プログラムに提出された各データ・セットは
内部読取プログラム・ジョブJDSに直接割り当てられ、
データ・セットが提出されてから(たとえばTSO STATUS
コマンドを使って)データ・セットを探し出せるまでの
時間の長さは従来技術よりもはるかに短い。(実際の時
間の長さはINTRDR DSPに対する最大DSPカウントとオペ
レーティング・システムの全活動に応じて変わる。どち
らの変数も、スケジューリングされるDSPの数ならびにD
SPがどれだけ速くスケジューリングされるかに影響を及
ぼす。)また、内部読取プログラムのためJOBOの処理が
不要となり、IATDMJAモジュールがもはやIATMSGCモジュ
ールによって呼び出されないので、JOBO処理ジョブと要
求選択ジョブの間の競合もなくなった。大型の対話式シ
ステムでは、平均TSOログオン時間が大幅に短縮され
た。
以上、作業負荷に応じてINTRDR FCTが(操作員によっ
てではなく)オペレーティング・システムによって、動
的にかつ最適に呼び出されスケジューリングされること
が明確になった。ジョブ・スケジューラ・サブシステム
(JSS)によってスケジューリングされるINTRDR FCTの
最大数は、最大INTRDR DSPカウントによって決まる。
JOBOの機能改善 上記に示したように、JOBOはもはやJDSを内部読取プ
ログラムに供給しない。その結果、内部読取プログラム
・データ・セットの処理中のスプール入出力の量が減少
し、JDSが他のジョブに使用されることによる遅延がな
くなる。すなわちJOBO JDS SRF連鎖内の各SRFレコード
ごとにスプール装置にアクセスする必要がない。したが
って、JOBO JDS内に内部読取プログラム・データ・セッ
トが存在するために「ボトルネック」が生じることがな
いので、他のJES3 DSPデータ・セットに対するJOBOのス
ループットが増大した。JOBOの機能改善によるその他の
利点は、大型の対話式環境で平均TSOログオン時間が短
縮されることと、内部読取プログラムに提出されるジョ
ブのアクセス可能度が大きくなることである。後者の場
合、各ジョブが動的内部読取プログラムFCTに割り当て
られるので、ユーザ照会及びシステム照会が行なわれる
とき、ジョブの状況が一層迅速に判定される。前者の場
合、他のDSP(スピンオフ)データ・セットを処理する
ために依然としてJOBOが使用できるものの、それとTSO
ログオン処理の間の競合が軽減される。したがって、周
辺記憶装置上のJOBOのJDSの連鎖されたSRFレコードを探
索するために必要な過度のスプール入出力によってTSO
ログオン処理が遅延することはない。ジョブTSO SUBMIT
コマンドを介して提出され、そのジョブが今度は別のジ
ョブを提出する。すなわち内部読取プログラムが処理す
る出力データ・セットをSYSOUT=(*INTRDR)で指定す
る場合は、後続の各ジョブにTSOユーザ情報が伝播され
る。
F.発明の効果 内部読取プログラム・ジョブを作成するだけでも、あ
る程度の処理オーバーヘッドがある。既存の内部読取プ
ログラム・ジョブが処理できない作業の突然の急増があ
る場合に、このオーバーヘッドは価値がある。すべての
使用可能な作業が処理されると、本発明の実施によっ
て、内部読取プログラム・ジョブは、新しいジョブがデ
ィスパッチされるのを待たず、終了することができる。
しかし、入ってくる作業の割合が、内部読取プログラム
が終了すると直ちに別の作業を作成しなければならない
ほどである場合、システムはスラッシングになっている
と考えられる。スラッシングは不適当なソフトウェア・
オーバーヘッドを引き起こす。本発明は、本来この状態
を解消することができるものである。
本発明のその他の利点としては、内部読取プログラム
・ジョブを容易に開始及び停止できること、内部読取プ
ログラム・ジョブが作業を待つ、すなわち遊休状態にな
ることができること、内部読取プログラム・ジョブが自
分で終了できること、活動的に処理する内部読取プログ
ラム・ジョブ数が決定可能であること、遊休状態の内部
読取プログラムジョブが決定可能であることがある。
一般に、ここで開示した発明は、作業の流れの変更
(増減)を処理するために使用可能な内部読取プログラ
ム・ジョブの数を動的に増減させると共に、同時に過度
のシステム・オーバーヘッド、及びスラッシングを回避
する。本発明を用いると、たとえばプログラムの外部仕
様(external)の数が増えて、プログラマまたは操作員
にとってシステムがより複雑になることがなく、システ
ムの処理能力が向上する。
ここで開示した本発明の結果、操作員はもはや、JFS3
のコールド・スタート後に内部読取プログラムを開始さ
せる必要がなく、また内部読取プログラム.データ・セ
ットのバックログがJES3保持キューに累積し始めた場合
に追加の内部読取プログラムを開始する必要もない。設
計されたジョブがINTRDR FCTの制御下で入力サービスに
よってシステムに読み込まれる。重要な利点は、複数の
ジョブが多重プログラミングを可能にするので、システ
ムが複数のキューを含んでいる複数の並列実行入出力動
作を開始させる機会を持つことである。
【図面の簡単な説明】
第1a図ないし第1e図は、オペレーティング・システム環
境と、内部読取プログラム機能に関する従来技術のサブ
システム入出力サービスの概略図である。 第2図は、JDS内の項目がSTAに複写されるジョブのSTA
及びJDSの概略ブロック・ダイアグラムである。 第3図は、IATMSGCによって作成されるFCT項目がSTAを
指すようになっている、FCT連鎖の概略ブロック・ダイ
アグラムである。 第4図は、JDS内の項目がそこからサブシステムに直接
転送されるようになっている、ジョブJDSの概略ブロッ
ク・ダイアグラムである。 第5a図は、サブシステムに転送されたJDS項目によって
識別されるデータ・セットを処理する内部読取プログラ
ムを記録するIRA及びIRE連鎖の概略ブロック・ダイアグ
ラムである。 第5b図は、内部読取プログラムJCTと、サブシステムに
転送されたJDS項目を受け取る、それと対応する内部読
取プログラムJDSの概略ブロック・ダイアグラムであ
る。 第6図は、遊休IRE、RSQ、FCT、内部読取プログラムJCT
及び内部読取プログラムJDSの間の関係を示す概略ブロ
ック・ダイアグラムである。 第7図は、IATISIRによるIREの作成と、内部読取プログ
ラム・ジョブを処理すべきときのIRE連鎖へのIREの追加
を示す概略ブロック・ダイアグラムである。 第8図は、IATISIRによってFCTが取り消された後のIRE
の除去を示す概略ブロック・ダイアグラムである。 第9図は、SE、追加の内部読取プログラム・ジョブ及び
それらのFCTとの関連を含む、内部読取プログラムの構
成要素の概略ブロック・ダイアグラムである。 第10図は、内部読取プログラムJDS内の項目が指すデー
タ・セットを処理するための遊休FCTが存在するかどう
か判定するために実行されるステップを示す流れ図であ
る。 第11図は、内部読取プログラム・ジョブを取り消すべき
かどうか判定するために実行されるステップ、及び取消
し/ポスト状態または待機/ポスト状態を示す流れ図で
ある。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−757(JP,A)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】実行すべきジョブを準備するサブシステム
    と通信するオペレーティング・システム、前記ジョブに
    より要求される作業単位を処理するサポート・プログラ
    ム、前記サポート・プログラムに対応する項目を有する
    関数制御テーブル連鎖、前記ジョブを処理することによ
    って実行されねばならない作業単位に対応する前記サポ
    ート・プログラムによって前記関数制御テーブル連鎖上
    に表現される前記ジョブ内のスケジューラ要素、及び前
    記ジョブによって生成された入力ストリームを含むデー
    タ・セットを具備する計算機システムを動作させる方法
    であって、 動的に生成され動的に終了される内部読取ジョブに関連
    するジョブ・データ・セット制御ブロックに前記データ
    ・セットを直接関連付けるステップと、 前記内部読取ジョブのスケジューラ要素に対応する内部
    読取サポート・プログラムを生成し、該内部読取サポー
    ト・プログラムを前記関数制御テーブル連鎖内の関数制
    御テーブル項目に追加し、該関数制御テーブル項目をス
    ケジュールするステップと、 前記内部読取サポート・プログラムをディスパッチし前
    記ジョブ・データ・セット制御ブロックに直接関連付け
    られたデータ・セットを処理するステップと、を含む計
    算機システムを動作させる方法。
  2. 【請求項2】活性状態の内部読取ジョブの数が前記関数
    制御テーブルの最大許容項目数より大きいとき前記サブ
    システムで前記関数制御テーブル項目を取消し、待機状
    態の関数制御テーブルをスケジュールするステップを含
    むことを特徴とする請求項1記載の計算機システムを動
    作させる方法。
  3. 【請求項3】前記関数制御テーブル項目の取消後の遊休
    状態の関数制御テーブル項目の割合が50パーセントより
    大きくかつ残余の関数制御テーブル項目の数が所定数を
    越えるとき前記サブシステムで前記関数制御テーブル項
    目を取り消すステップを含むことを特徴とする請求項2
    記載の計算機システムを動作させる方法。
  4. 【請求項4】前記データ・セットの処理に続いて、前記
    内部読取ジョブが遊休状態になりジョブ待ち行列上で待
    機状態になることを特徴とする請求項1記載の計算機シ
    ステムを動作させる方法。
  5. 【請求項5】前記待ち行列上の前記内部読取ジョブに対
    応する内部読取要素ブロックを含む内部読取エレメント
    連鎖を有することを特徴とする請求項4記載の計算機シ
    ステムを動作させる方法。
  6. 【請求項6】前記内部読取要素ブロックは前記内部読取
    ジョブが前記ジョブ待ち行列上で待機状態にあるときセ
    ットされる遊休フラグを含むことを特徴とする請求項5
    記載の計算機システムを動作させる方法。
  7. 【請求項7】前記内部読取要素ブロックは前記ジョブ待
    ち行列上の待機状態にある内部読取ジョブに対応する前
    記関数制御テーブル連鎖内の遊休関数制御テーブル項目
    をポイントすることを特徴とする請求項6記載の計算機
    システムを動作させる方法。
  8. 【請求項8】セット状態の遊休フラグを有する内部読取
    要素ブロックによりポイントされた関数制御テーブル項
    目は、他のデータ・セットが前記遊休内部読取ジョブに
    関連するジョブ・データ・セット制御ブロックに直接に
    転送されかつ前記遊休内部読取ジョブに対応する前記内
    部読取要素ブロック内の遊休フラグがリセットされてい
    るとき、前記他のデータ・セットを処理するようにスケ
    ジュール変更されることを特徴とする請求項7記載の計
    算機システムを動作させる方法。
  9. 【請求項9】前記内部読取要素ブロックは前記内部読取
    ジョブのスケジューリングを制御する際に前記サブシス
    テムで使用される情報を含んでいることを特徴とする請
    求項8記載の計算機システムを動作させる方法。
  10. 【請求項10】オペレーティング・システムにより実行
    されるべきジョブを準備するサブシステムと通信するオ
    ペレーティング・システム、前記ジョブにより要求され
    る作業単位を処理するサポート・プログラム、前記サポ
    ート・プログラムに対応する項目を有する関数制御テー
    ブル連鎖、前記ジョブを処理するために実行されねばな
    らない作業単位に対応する前記サポート・プログラムに
    より前記関数制御テーブル連鎖上に表現されるジョブ内
    のスケジューラ・エレメント、及び前記ジョブにより生
    成される入力ストリームを含むデータ・セットを具備す
    る計算機システムにおいて 前記計算機システムに対する作業負荷が増減するにつれ
    て、前記サブシステムに直接にセットする内部読取ジョ
    ブを、前記データ・セットの1つが前記内部読取ジョブ
    の1つに関連するデータ・セット制御ブロックに直接に
    複写されるときに生成、取り消しする手段を有すること
    を特徴とする計算機システム。
JP63161081A 1987-07-31 1988-06-30 計算機システムを動作させる方法及び計算機システム Expired - Lifetime JPH0820963B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US80371 1987-07-31
US07/080,371 US4918595A (en) 1987-07-31 1987-07-31 Subsystem input service for dynamically scheduling work for a computer system

Publications (2)

Publication Number Publication Date
JPS6455648A JPS6455648A (en) 1989-03-02
JPH0820963B2 true JPH0820963B2 (ja) 1996-03-04

Family

ID=22156954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63161081A Expired - Lifetime JPH0820963B2 (ja) 1987-07-31 1988-06-30 計算機システムを動作させる方法及び計算機システム

Country Status (4)

Country Link
US (1) US4918595A (ja)
EP (1) EP0301221B1 (ja)
JP (1) JPH0820963B2 (ja)
DE (1) DE3884504T2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241677A (en) * 1986-12-19 1993-08-31 Nippon Telepgraph and Telehone Corporation Multiprocessor system and a method of load balancing thereof
US5063500A (en) * 1988-09-29 1991-11-05 Ibm Corp. System for executing segments of application program concurrently/serially on different/same virtual machine
US4949254A (en) * 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US4969092A (en) * 1988-09-30 1990-11-06 Ibm Corp. Method for scheduling execution of distributed application programs at preset times in an SNA LU 6.2 network environment
US4991089A (en) * 1988-09-30 1991-02-05 Ibm Corp. Method for establishing current terminal addresses for system users processing distributed application programs in an SNA LU 6.2 network environment
JP3226525B2 (ja) * 1988-10-07 2001-11-05 株式会社日立製作所 主記憶管理方法
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US5392426A (en) * 1989-12-15 1995-02-21 Nynex Corporation, Inc. Method and apparatus for use in program operation, control and control block management and storage
US5212793A (en) * 1991-09-04 1993-05-18 International Business Machines Corp. Generic initiators
US6021425A (en) * 1992-04-03 2000-02-01 International Business Machines Corporation System and method for optimizing dispatch latency of tasks in a data processing system
FI91456C (fi) * 1992-07-29 1994-06-27 Nokia Telecommunications Oy Menetelmä tietokoneessa varattujen resurssien hallitsemiseksi
JPH06337729A (ja) * 1993-05-27 1994-12-06 Fujitsu Ltd ネットワークサービスシステム
JP2550864B2 (ja) * 1993-05-31 1996-11-06 日本電気株式会社 ジョブ実行における分散型制御方法及びその装置
US5592654A (en) * 1994-06-03 1997-01-07 Integrated Device Technology, Inc. Apparatus and method for converting a job conforming to a first protocol into a job conforming to a second protocol
US5740437A (en) * 1994-09-13 1998-04-14 International Business Machines Corporation Separating work unit priority and accountability from address spaces
JP3484779B2 (ja) * 1994-10-12 2004-01-06 富士ゼロックス株式会社 名前サービス方式及び名前サービス方法
JPH08241214A (ja) * 1995-03-06 1996-09-17 Hitachi Ltd データ処理システム
JPH08286932A (ja) 1995-04-11 1996-11-01 Hitachi Ltd ジョブの並列実行制御方法
US6886167B1 (en) 1995-12-27 2005-04-26 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
US5991761A (en) * 1997-01-10 1999-11-23 Bmc Software, Inc. Method of reorganizing a data entry database
US6710786B1 (en) 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
US6845505B1 (en) * 1997-02-03 2005-01-18 Oracle International Corporation Web request broker controlling multiple processes
US6865734B2 (en) * 1997-10-06 2005-03-08 Sun Microsystems, Inc. Method and apparatus for performing byte-code optimization during pauses
US6360279B1 (en) * 1997-10-14 2002-03-19 Bea Systems, Inc. True parallel client server system and method
US6334114B1 (en) 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US7093252B1 (en) * 2000-04-12 2006-08-15 International Business Machines Corporation Self-submitting job for testing a job scheduling/submitting software
US6845345B1 (en) * 2001-02-06 2005-01-18 Advanced Micro Devices, Inc. System for monitoring and analyzing diagnostic data of spin tracks
US7331048B2 (en) * 2003-04-04 2008-02-12 International Business Machines Corporation Backfill scheduling of applications based on data of the applications
JP2005092542A (ja) * 2003-09-18 2005-04-07 Hitachi Ltd ジョブネット構成ファイルの生成装置および生成方法
US20050219614A1 (en) * 2004-04-02 2005-10-06 Garg Man M Scalable hierarchical-states based job management engine with resource balancing and services monitoring
US8087021B1 (en) * 2005-11-29 2011-12-27 Oracle America, Inc. Automated activity processing
US7958188B2 (en) * 2007-05-04 2011-06-07 International Business Machines Corporation Transaction-initiated batch processing
US20090019318A1 (en) * 2007-07-10 2009-01-15 Peter Cochrane Approach for monitoring activity in production systems
US8954974B1 (en) * 2013-11-10 2015-02-10 International Business Machines Corporation Adaptive lock list searching of waiting threads

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4387427A (en) * 1978-12-21 1983-06-07 Intel Corporation Hardware scheduler/dispatcher for data processing system
JPS57757A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Job execution schedule system
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
US4615001A (en) * 1984-03-29 1986-09-30 At&T Bell Laboratories Queuing arrangement for initiating execution of multistage transactions
JPS61114363A (ja) * 1984-11-07 1986-06-02 Hitachi Ltd 計算機システム間ジヨブ転送方式
US4636948A (en) * 1985-01-30 1987-01-13 International Business Machines Corporation Method for controlling execution of application programs written in high level program language
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means

Also Published As

Publication number Publication date
EP0301221B1 (en) 1993-09-29
US4918595A (en) 1990-04-17
DE3884504D1 (de) 1993-11-04
EP0301221A3 (en) 1990-01-31
EP0301221A2 (en) 1989-02-01
JPS6455648A (en) 1989-03-02
DE3884504T2 (de) 1994-05-11

Similar Documents

Publication Publication Date Title
EP0301221B1 (en) An improved subsystem input service for dynamically scheduling work for a computer system
US20200409768A1 (en) Autoscaling using file access or cache usage for cluster machines
EP0473444B1 (en) Scheduling method for multiprocessor operating system
JP2677744B2 (ja) 分散メモリ式デジタル計算システム
US5659701A (en) Apparatus and method for distributed program stack
US5958003A (en) Method and computer system for improving the response time of a computer system to a user request
US20100153957A1 (en) System and method for managing thread use in a thread pool
CN110806933B (zh) 一种批量任务处理方法、装置、设备和存储介质
JPH08241263A (ja) I/o要求処理計算機システム及び処理方法
US5339449A (en) System and method for reducing storage channels in disk systems
CN111158855B (zh) 一种基于微容器及云函数的轻量虚拟化裁剪方法
US5392426A (en) Method and apparatus for use in program operation, control and control block management and storage
EP0509946A2 (en) Apparatus and method for implementing a distributed program stack
JP2022049877A (ja) トランザクション制御装置、トランザクション制御方法、及び、プログラム
JP3064880B2 (ja) データ蓄積装置及びそれを用いたデータ処理システム
JPH0126093B2 (ja)
JPS6091452A (ja) デ−タ処理装置のタスクスケジユ−リング方式
JPS63292456A (ja) 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式
JPH0586574B2 (ja)
JPH0744481A (ja) 計算機システム
JP2957347B2 (ja) ジョブ実行クラス停止方式
JPH05265779A (ja) タスク間通信システム
JPH09167142A (ja) パラレルコンピュータシステムのジョブディスパッチ装置
JPH0424828A (ja) マルチタスク管理方式
JP2828000B2 (ja) ジョブスケジューリングクラス管理システムおよび管理方法