4.2.2 一般ユーザ
JP1/AJSからジョブコントローラを起動した要求はジョブとして受け付けられる。ジョブを利用する一般ユーザは指示をまとめて記述したジョブ定義XMLファイルをジョブコントローラに与える。
ジョブを利用する一般ユーザが指定した指示は,ジョブコントローラによって何が要求されているかが分析され,システム資源が効率良く利用されるようにジョブを実行する。
(1) ジョブ
ジョブとは一般に,一般ユーザが用意する1つのまとまった仕事をシステムに要求する単位である。要求する仕事は互いに独立したものと考えられる。
ジョブは一連の処理プログラムから構成されている。これらの処理プログラムを実行するためには,その実行の順序,実行の条件,および処理プログラムの実行に必要なファイルを定義する必要がある。
(2) ジョブステップ
ジョブステップとは,ジョブを構成する実行の単位で,1つの処理プログラムの実行をいう。ジョブは1つのまたはそれ以上のジョブステップから構成されている。ジョブステップは資源を割り当てる単位でもある。
幾つかのジョブステップは互いに関連を持っており,各ジョブステップは定義された順序で処理される。
ジョブステップは定義された順序に処理されるが,前のジョブステップが正しく処理されないと次のジョブステップの実行が意味を持たない。この場合,ジョブステップの実行条件を指定して,処理のスキップもできる。
(3) ジョブとジョブステップの概念
ジョブとジョブとは互いに独立である。したがって,同時に処理するジョブ同士,または先に実行したジョブがあとに実行するジョブに影響を及ぼすことはない。さらに,ファイル上の情報を除けば,ジョブからジョブに情報を引き継がれることもない。ただし,JP1/AJSによるスケジュールによっては,ジョブ相互に実行順序関係ができる。
ジョブ内ではジョブステップ間に前後関係があり,システムに入力された順番で連続的に処理される。
例えば,あるCOBOL言語で書かれたソースがある。このソースをプログラムとして実行するためには,まずCOBOLコンパイラでこのソースをコンパイルし,リンクをとり,そのあとで実行する必要がある。このコンパイル,リンクエディット,および実行の各段階が,ジョブの3つのジョブステップとなる。
ジョブとジョブステップの実行順序の関係を次の図に示す。この図では,ジョブ多重度を3に設定したJP1/AJSから3つのジョブを実行する場合を仮定する。
各ジョブ内のジョブステップは,それぞれのジョブ内に定義された順序で処理される。例えば,ジョブAの場合はジョブステップA1からA2という順番でジョブステップが実行される。一方,ジョブ多重度が3であるため,3つのジョブは並列に動作する。そのため,ジョブの完了は必ずしもキューに蓄積された順番どおりとはならない。
(4) ジョブ実行のスケジュール
JP1/AJSでジョブ実行のスケジュールを立てる場合,JP1/AJSによって選択されたジョブをプロセス管理下(ジョブコントローラの元)で実行する。
ジョブコントローラの詳細については,「3.1.3 ジョブコントローラ」を参照のこと。