このドキュメントでは、BS2000/OSD 環境の Natural でグローバル共通メモリプールを起動および停止するプログラム、および BS2000/OSD 環境の Natural でローカルまたはグローバル共通メモリプールを定義するマクロについて説明します。
以下のトピックについて説明します。
BS2000/OSD 環境の Natural でグローバル共通メモリプールを起動および停止するために、以下のプログラムが用意されています。
注意:
以下の説明で、vrs は製品のバージョン、リリース、およびシステムメンテナンスレベルを表します。
CMPSTART
プログラムの機能は以下のとおりです。
グローバル共通メモリプールを独自の開始タスクで起動します。
定義済みのモジュールをグローバル共通メモリプールにロードします。
グローバル共通メモリプールを初期化します。
キーワードパラメータ TXTSIZE
および BPLIST
(下記参照)は、Natural グローバルバッファプールを起動するときおよび CMPSTART
プログラムにのみ有効です。
キーワードパラメータ JV
および JVSUFX
(下記参照)は、グローバル共通メモリプールを起動するときの CMPSTART
プログラムにのみ有効です。
その他のすべてのキーワードパラメータは、BS2STUB
モジュールの生成に使用される ADDON
マクロのキーワードパラメータと同じです。
以下のキーワードパラメータを使用できます。
TXTSIZE
| BPLIST
| JV
| JVSUFX
このキーワードパラメータは、Natural バッファプールのテキストレコードのサイズを KB 単位で定義します。
TXTSIZE=xx |
xx に指定できる値は 1、2、4、8、12、16 です。
|
TXTSIZE=4 |
デフォルトで Natural バッファプールのテキストレコードのサイズは 4 KB になります。 |
このキーワードパラメータは、Natural グローバルバッファプールのプリロードリストの名前を定義します。 プリロードリストの定義済み Natural プログラムは、最初のユーザーのログオン時に Natural グローバルバッファプールにロードされます。
BPLIST=name |
Natural プロファイルパラメータ BPLIST を参照してください。
|
このキーワードパラメータは、ジョブ変数を作成するかどうかを定義します。 このジョブ変数により、共通メモリプールのステータスをジョブ制御言語で制御できるようになります。
0 | 共通メモリプールの用意ができていません(作成モード)。 |
1 | 共通メモリプールの用意ができています(正常に有効化され初期化されました)。 |
ジョブ変数名は 2 つの部分から成ります。
1 つ目の部分は、共通メモリプールの名前です(キーワードパラメータ NAME
のオペランド)。
2 つ目の部分は、キーワードパラメータ JVSUFX
のオペランドです(下記参照)。
ジョブ変数ナビゲーションのロジック:
CMPSTART
プログラムが起動すると、ジョブ変数が使用可能かどうかが確認されます。 使用可能な場合は、ジョブ変数の値が "0" に設定されます。 使用できない場合は、ジョブ変数はカタログ化され、値が "0" に設定されます。 共通メモリプールが正常に有効化され初期化されると、ジョブ変数の値が "1" に設定されます。 グローバル共通メモリプールが終了すると、ジョブ変数は削除されます。
JV=YES |
ジョブ変数が作成されます。 |
JV=NO |
デフォルトでジョブ変数は使用されません。 |
このキーワードパラメータは、ジョブ変数名の 2 番目の部分を定義します。
JVSUFX=xxxxxxxx |
ジョブ変数名の 2 番目の部分を最大 8 文字で指定します。 |
JVSUFX=.SAG.JV |
これはデフォルト値です。 |
例:
NAME=EDTvrsGA,TYPE=EDT,JV=YES,JVSUFX=.SAG##JV . . . . .
ジョブ変数名は EDTvrsGA.SAG##JV
です。
以下のオペレータコマンドは、グローバル共通メモリプールを終了します。
/INTRtsn,STOP
または
/INTRtsn,END
以下のオペレータコマンドは、グローバル共通メモリプールの名前、場所、アドレス、サイズ、およびアクティブ時間をコンソールに表示します。
/INTRtsn,DPRM
以下のオペレータコマンドは、グローバル共通メモリプールの開始タスクをダンプ付きで終了します。
/INTRtsn,DUMP
例:
/.NATSHRE LOGON /OPTION DUMP=YES /SYSFILE SYSDTA=(SYSCMD) /SYSFILE SYSOUT=LST.NATSHARE /EXEC (CMPSTART,NATvrs.MOD) NAME=NATSHARE,SIZE=2MB,POSI=ABOVE,ADDR=250,SCOP=GLOBAL PFIX=YES,ALNK=NO,LIBR=NATvrs.USER.MOD /SYSFILE SYSDTA=(PRIMARY) /LOGOFF /* NATSHARE IS THE NAME OF THE LINKED NATURAL REENTRANT MODULE. IT IS ALSO THE /* NAME OF THE COMMON MEMORY POOL. THE ADDRESS OF THE GLOBAL NATURAL LOAD POOL /* MUST BE DEFINED. THE ADDRESS MUST BE FIXED (PFIX=YES).
/.BPvrsGA LOGON /OPTION DUMP=YES /SYSFILE SYSDTA=(SYSCMD) /SYSFILE SYSOUT=LST.BPvrsGA /EXEC (CMPSTART,NATvrs.MOD) NAME=BPvrsGA,TYPE=NAT,POSI=ABOVE,SIZE=2048KB,SCOP=GLOBAL /SYSFILE SYSDTA=(PRIMARY) /LOGOFF /* FOR A NATURAL BUFFER POOL, THE OPERAND OF PARAMETER "TYPE" MUST BE DEFINED /* AS 'NAT'.
/.BPvrsA LOGON /OPTION DUMP=YES /SYSFILE SYSOUT=LST.BPvrsGA /SYSFILE SYSDTA=(SYSCMD) /EXEC (CMPSTART,NATvrs.BS2.MOD) NAME=BPvrsGA,TYPE=NAT,POSI=ABOVE,SIZE=10MB,ADDR=260,DESA=YES DATA=32MB /SYSFILE SYSDATA=(PRIMARY) /LOGOFF N
CMPEND
プログラムは、すべてのグローバル共通メモリプールの開始タスクを終了します。 CMPEND
で入力するのは、グローバル共通メモリプールの名前です。
例:
/SYSFILE SYSDTA=(SYSCMD) /EXEC (CMPEND,NATvrs.MOD) NATSHARE,BPvrsGA /* THE DELIMITER FOR THE DEFINED NAMES IS ' ' OR ','.
このセクションでは、BS2000/OSD 環境の Natural でローカル(またはグローバル)共通メモリプールを定義できるマクロについて説明します。
BS2STUB
マクロの機能は以下のとおりです。
ローカル共通メモリプールを起動します。
定義済みのグローバル共通メモリプールに接続します。
定義済みのモジュールをローカル共通メモリプールにロードします。
呼び出された 3GL プログラムをダイナミックにロードします。
BS2STUB
マクロには以下のパラメータがあります。
name BS2STUB PARMOD=nn,PROGMOD=xxx |
name |
CSECT の名前を指定します。 最初の 3 文字に NAT を使用することはできません。
|
name BS2STUB |
これはデフォルトの名前です。 |
このパラメータは、24 または 31 ビットアドレッシングモードを使用するかどうかを指定します。
PARMOD=nn |
nn に指定できる値は 24 または 31(ビット)です。 |
PARMOD=31 |
デフォルトでアドレッシングモードは 31 ビットに設定されます。 |
このパラメータは、ダイナミックロードされるプログラムを 16 MB 境界より上または下のどちらにロードするかを指定します。
PROGMOD=ANY |
ANY は、モジュールが 16 MB 境界より上または下にロードされることを示します。 これはデフォルト設定です。
|
PROGMOD=24 |
24 は、モジュールが 16 MB 境界より下にロードされることを示します。 |
ADDON
マクロは、BS2STUB
プログラムの ADDON
テーブルで共通メモリプールを定義します。 このマクロには、以下のキーワードパラメータがあります。これは、CMPSTART
プログラムにも適用されます。
ACCS
| ADDR
| ALNK
| DATA
| DESA
| LIBR
| LOAD
| NAME
| PFIX
| POSI
| SCOP
| SIZE
| STAT
| TYPE
| WAIT
このパラメータは、共通メモリプールへのアクセス方法を指定します。
ACCS=READ |
読み取り専用アクセスであることを示します(書き込み禁止)。
|
ACCS=WRITE |
デフォルトで共通メモリプールは書き込み可能になります。 |
このパラメータは、共通メモリプールの定義済みアドレスのメガバイト数を指定します。 サイズの指定は必須です。 デフォルト値はありません。
ADDR=number |
number は 0 以上である必要があります。
|
このパラメータは、ダイナミックバインダローダー(DBL)の AUTOLNK
機能をアクティブにするかどうかを指定します。
ALNK=NO |
AUTOLNK 機能は非アクティブになります。
|
ALNK=YES |
デフォルトで AUTOLNK 機能はアクティブになります。
|
このパラメータは、DESA
パラメータと組み合わせて指定でき、起動するバッファプールまたはスワッププールのデータスペースエリアのサイズを定義します。 以下の設定が可能です。
DATA=nnnMB |
データスペースエリアのサイズを MB 単位で指定します。 |
DATA=nnnKB |
データスペースエリアのサイズを KB 単位で指定します。 |
ローカルバッファプールを起動するには、DESA=YES
を指定し、DATA パラメータを使用してデータスペースエリアのサイズを MB または KB 単位で指定します。 デフォルト値がないため、サイズの指定は必須です。
グローバルバッファプールまたはグローバルスワッププールを接続するには、DESA=YES
を指定し、DATA
パラメータは CMPSTART
プログラムに指定済みなので省略します。
グローバルバッファプールを起動するには、DESA=YES
を指定し、DATA パラメータを使用してデータスペースエリアのサイズを MB または KB 単位で指定します。 デフォルト値がないため、サイズの指定は必須です。
このパラメータは、Natural バッファプールまたは Natural スワッププールに ESA データスペースエリアを作成するかどうかを決めるために指定する必要があります。
DESA=YES |
ESA データスペースエリアが作成されます。 |
DESA=NO |
デフォルトで ESA データスペースエリアは作成されません。 |
ESA データスペースは、TYPE=NAT
または TYPE=SWP
のバッファプールにのみサポートされます。
パラメータ DESA=YES
が関連するのは、ESA データスペースのあるグローバル共通メモリプール(独自の開始タスクを持つ CMPSTART
)または ESA データスペースのあるローカル共通メモリプール(BS2STUB/ADDON
)を作成する場合のみです。
既存のグローバル共通メモリプールに接続する場合(BS2STUB/ADDON
)は、パラメータ DESA
は無意味です。
注意: ESA データスペースは、独自の開始タスクを持つ 1 つのグローバル共通メモリプールにのみ作成してください。 ESA データスペースを作成したタスクが正常終了または異常終了すると、ESA データスペースは使用できなくなります。 |
このパラメータは、定義済みモジュールのロード元を指定します。 デフォルト値はありません。 パラメータ LIBR
のオペランドを指定しない場合は、共通メモリプールのみが有効になります(ENAMP+REQMP
)。
LIBR=library |
library はロードライブラリの名前です。
|
LIBR=BLSLIB |
リンク名が BLSLIB および BLSLIB01 ~BLSLIB99 のライブラリが使用されます。
|
LIBR=CLASS-4 |
モジュールはサブシステムとしてクラス 4 メモリにロードされます。 |
このパラメータは、モジュールを共通メモリプールにロードする際に使用するマクロを指定します。
LOAD=ASHARE |
|
LOAD=BIND |
デフォルトで BIND マクロが使用されます。
|
このパラメータは、モジュールの名前と共通メモリプールの名前のいずれかまたは両方を指定します。 名前の指定は必須です。 デフォルト値はありません。
NAME=name |
name は、共通メモリプールまたはモジュールの有効な名前です。
|
名前の最大文字数は以下のとおりです。
8 文字 | モジュール名(共通メモリプールの名前)。Natural バッファプール。 |
16 文字 | 他のすべての共通メモリプール。 |
このパラメータは、共通メモリプールのアドレスを固定するかどうかを指定します。
PFIX=YES |
共通メモリプールのアドレスを固定する必要があります。 |
PFIX=NO |
デフォルトで共通メモリプールのアドレスを固定する必要がありません。 |
グローバル Natural ロードプールの場合は、このパラメータを YES
に設定する必要があります。
このパラメータは、共通メモリプールの位置を指定します。位置は 16 MB 境界より上または下を指定できます。
POSI=ABOVE |
共通メモリプールは 16 MB 境界より上に配置されます。 |
POSI=BELOW |
デフォルトで共通メモリプールは 16 MB 境界より下に配置されます。 |
このパラメータは、共通メモリプールの範囲を指定します。
|
共通メモリプールの範囲については、BS2000/OSD ドキュメントの ENAMP マクロの説明を参照してください。
|
SCOP=GLOBAL |
これはデフォルト設定です。 |
このパラメータは、共通メモリプールのサイズを MB または KB 単位で指定します。
|
共通メモリプールのサイズを n KB または n MB に指定します。 |
SIZE=1MB |
デフォルトで共通メモリプールのサイズは 1 MB になります。 |
このパラメータは、共通メモリプールのステータスを指定します。
STAT=GLOBAL |
共通メモリプールのステータスは GLOBAL です(CMPSTART によって起動)。
|
STAT=LOCAL |
共通メモリプールのステータスは デフォルトで共通メモリプールのステータスは |
注意:
CMPSTART
プログラムが実行されている場合は、STAT
パラメータは無視されます。
このパラメータは、共通メモリプールのタイプを指定します。 タイプの指定は必須です。 デフォルト値はありません。
TYPE=COM |
Natural DCOM プール |
TYPE=EDT |
エディタバッファプール |
TYPE=MON |
Natural Monitor プール(SYSMON )
|
TYPE=NAT |
Natural バッファプール |
TYPE=SRT |
ソートバッファプール |
TYPE=SWP |
Natural スワッププール |
TYPE=USR |
ユーザーバッファプール |
このパラメータは、共通メモリプールを、アプリケーションの起動時にすぐに有効にするか、Natural から要求があるまで待機してから有効にするかを指定します。
WAIT=YES |
共通メモリプールは Natural からの要求を待機し、要求があった時点で有効になります。 |
WAIT=NO |
デフォルトで共通メモリプールはアプリケーションの起動と同時に有効になります。 |
注意:
CMPSTART
プログラムが実行されている場合は、WAIT
パラメータは無視されます。
ADDEND
マクロは、ADDON
マクロの定義の終了を定義します。 ADDEND
にはパラメータはありません。
BS2STUBA BS2STUB PARMOD=31,PROGMOD=24 31-BIT ADDRESSING MODE, * LOAD 3GL PROGRAMS BELOW * +--------------------------------------------------------------------+ * I Define the Natural global load pool with Name NATSHARE * +--------------------------------------------------------------------+ ADDON NAME=NATSHARE,STAT=GLOBAL * +--------------------------------------------------------------------+ * I Define the Natural local swap pool * +--------------------------------------------------------------------+ ADDON NAME=SWAPvrsLA,TYPE=SWP,SIZE=16MB,STAT=LOCAL,POSI=ABOVE * +--------------------------------------------------------------------+ * I Connecting a Natural global buffer pool with ESA data space * +--------------------------------------------------------------------+ ADDON NAME=BPvrsGA,TYPE=NAT,STAT=GLOBAL * +--------------------------------------------------------------------+ * I Creating/Connecting a Natural local buffer pool with ESA data space * +--------------------------------------------------------------------+ ADDON NAME=BPvrsLA,TYPE=NAT,POSI=ABOVE,SIZE=10MB, STAT=LOCAL,SCOP=LOCAL,DESA=YES,DATA=32MB ADDEND END