入力スプーリング

入力スプーリングは、情報を入力装置から取り、スケジューリングのためにジョブを準備し、項目をジョブ待ち行列に入れます。入力スプーリングを使用すると、通常はジョブの実行時間が短縮され、順次に実行されるジョブ数が増加し、装置のスループットが向上します。

入力スプーリングの主な要素は、次のとおりです。

バッチ・ジョブが読み取りプログラムによって入力ソースから読み取られると、入力ストリームの中のコマンドはジョブに対する要求としてシステムの中に保管され、インライン・データはインライン・データ・ファイルとしてスプールされ、ジョブに関する項目はジョブ待ち行列に入れられます。 ジョブ情報は、サブシステムによる処理に備えてジョブ待ち行列からジョブ入力が選択されるまで、読み取りプログラムによってシステム内に保管されたままになります。

図 1. 入力スプーリング要素の関係入力スプーリング要素の関係

読み取りプログラム機能を使用すれば、ディスケット・ファイルまたはデータベース・ファイルから入力ストリームを読み取ることができます。

図 2. 入力ストリームの典型的な編成入力ストリームの典型的な編成
ジョブが入れられるジョブ待ち行列は、バッチ・ジョブ BCHJOB コマンド、データベース読み取りプログラム開始 STRDBRDR コマンド、またはジョブ記述の中の JOBQ パラメーターで指定されます。 BCHJOB コマンドの JOBQ パラメーターの値は次のとおりです。
  • *RDR: ジョブ待ち行列は、STRDBRDR コマンドの JOBQ パラメーターから選択されます。
  • *JOBD: ジョブ待ち行列は、ジョブ記述の中の JOBQ パラメーターから選択されます。
  • 特定のジョブ待ち行列: 指定された待ち行列が使用されます。

入力ストリームが小さいジョブの場合は、入力スプーリングを使用しないことによって、システム・パフォーマンスの向上を図ることができる場合もあります。 ジョブ投入 (SBMJOB) コマンドで入力ストリームを読み取り、該当するサブシステムの中のジョブ待ち行列にジョブを入れ、スプーリング・サブシステムおよび読み取りプログラムの操作をバイパスします。

ジョブが大きい入力ストリームの読み取りを必要とする場合は、入力スプーリング (ディスケット読み取りプログラム開始 STRDKTRDR または STRDBRDR コマンド) を使用して、ジョブが実際に処理されるのとは別に独立してジョブをインポートできるようにすべきです。