前の記事、複数論理コピーMLPについて説明しました。MLPのうち、個々のジョブが個別に持つメモリ領域であるPAG Process Access Groupについて説明します。
PAGの構成要素
PAGには個々のジョブが専用で使用する情報が格納されています。PAGを構成する主要な要素は以下になります。
1.PCS : Process Control Space : PAG全体の制御域です。
PCS内はさらにICB:Invocation Control Block :プログラム呼出し制御域と,PCB:Process Control Block : ICBの制御情報に分類されます。
2.PSSA : Process Static Storage Area : RPG, COBOLなどのプログラム内で定義されたデータ・フィールド、標識、配列などを格納します。
3.PASA : Process Automatic Storage Area : CLP等の変数を格納します。
4.ODP : Open Data Path : プログラムによってオープンされたファイルに関する情報が格納されます。
ジョブが開始されると32KB x 3のメモリがPAGに割り当てられます。このメモリ領域を使い切ると32KBずつ追加の記憶域が割当られます。
PAGはジョブが終了するとメモリ上から除去されます。
PAGの構成要素の3分類(3つのエリア)
PAGの構成要素を役割毎に分類すると以下の3つのエリアがあります。
エリア1:コントロール・エリア
このエリアはIBM i OS, SLICマイクロコードが参照し、タスクのディスパッチが行われます。また、ジョブ内で行われたInvocation Stack(プログラムの呼び出しスタックの情報など)もコントロールエリアに存在します。
エリア2:フィールド・エリア
プログラムで使用される変数情報、配列情報が入ります。
エリア3:ファイル・エリア
このエリアにはストレージ装置から読み込まれたデータがいったん主記憶域(メインメモリ)にロードされた後は行ってきます。実際にプログラムがデータを使用するにはファイルエリアからフィールド・エリアに移されなければなりません。