今回はこれまで解説してきたIBM i 実行管理機能の諸動作を5250対話型ジョブの動きの例で振り返ってみたいと思います。
シナリオ例
シナリオとしては、5250端末がログインして、ある対話型プログラムPGMAを起動して、5250画面を使ってユーザーが入力し、データベースのデータを操作し、結果を5250画面に返す、というようなものです。
-図中の水色の吹き出し①~⑩がユーザーから見た処理の流れです
-ピンクの吹き出しが、それぞれの操作時に発生する可能性のあるシステム的な処理の例です
シナリオの説明
①5250画面でユーザーの入力画面待ち(RPGだとEXFMT命令)が発生します。
②このとき初回のプログラム呼出しでメインメモリ上にプログラムが存在しないと、要求されたページをシステムプログラムがマシンプールにロードします。このときマシンプールに空きがないと非データベースページ不在が発生します。
③ベースプールまたはジョブが指定したサブシステム定義のプールの活動レベルに空きがあればジョブは活動状態になります。もし、活動レベルに空きがない場合、ジョブは不適格隊状態になります。
④ジョブが活動状態になるとディスク上に書き出していたPAGがベースプール又はジョブ指定のサブシステム定義のプールにロードされます。
⑤トランザクションを処理するために必要なプログラムがメインメモリ上に無いと非データベースページ不在が発生、ページングが起こります。
⑥必要なデータ、アクセスパスがメインメモリ上に無いと、データベースページ不在が発生し、ページングが起こります。
⑦ ④で読み込まれていないPAGが参照されると非データベースページ不在が発生しページングが起きます。
⑧トランザクション処理の間にシステムプログラムへの要求があり、このシステムプログラムがメインメモリ上に存在しない場合は非データベースページ不在が発生しページングが起きます。システムプログラムはマシンプールにロードされるものと、ベースプールを使うものの二種類があります。
⑨トランザクション処理が終わると、データを5250端末に書き出し、ユーザーの次の入力を待ちます。
⑩PAGがストレージ上に書き出されます。(PURGE(*YES)の場合)