L
LAとはちょっと話が外れますが、MVSシステムは以下の順序で目的のモジュールを検索します。
- JPA
JPA(Job Pack Area)とは、LOADしたプログラムを保存している領域で、MVSはプログラムが起動してからLINK・ATTACHなどのモジュール呼び出し操作が行われるまでにプログラムがLOADされていないかを第一に確認し、もし存在していればそれを使用します。
- Private-Library
LOAD、LINK、ATTACH、XCTLマクロは特定のDCBを指定してモジュールを呼び出す事ができます。この場合STEPLIB、JOBLIBは探索する代わりに、指定したDD文に記述されたライブラリーを探索します。
- STEPLIB
LOAD、LINK、ATTACH、XCTLマクロで特定のDCBを指定しなかった場合、MVSは(もし存在していれば)STEPLIBを探索します。
- JOBLIB
LOAD、LINK、ATTACH、XCTLマクロで特定のDCBを指定せず、さらにSTEPLIBが存在していない場合、MVSは(もし存在していれば)JOBLIBを探索します。
- FLPA
MVSはここまで探索した私用ライブラリーからモジュールが見つけられなかった場合、次に公用ライブラリーを探索します。公用ライブラリーとしてまず最初は、FLPA(IEAFIXxxに登録しているメンバー)を検索します。このモジュールはページ固定され高速なFetchが約束されますが、多量に登録するとシステムに大きな負担を与えてしまいます。
- MLPA
MLPAはPLPAライブラリーの拡張域として用意されていますが、「MVSを導入したらSMF Exitのデフォルト?がSYS1.LPALIBに存在していたが、ユーザーExitを導入したい。しかし、SYS1.LPALIBを直接書き換える様な事は(なんとなく)あまり行いたくない。仕方無いので検索順序の早いMLPAにSMF Exitのモジュールを登録しよう」という様に使用しています。
- PLPA
PLPA(LPALSTxxに登録しているライブラリー)はCLPAを指定してIPLした場合に共通域に読み込まれます。
- LNKLST
ここまでのどこにも目的のモジュールを見つける事が出来なかった場合、MVSは最後にLNKLSTからモジュールを探索します。LNKLSTはOS/390 R3から“T PROG=xx”で更新できるようです。
この探索の中でLLA+VLFの機能を利用できるのはLNKLST、Private-Library、STEPLIB、JOBLIBとなり、全ての“DASDのI/Oが発生するModule Fetch”を対象としています。
|