HEAP (CICS)
HEAP は、初期ヒープ、CEECRHP 呼び出し可能サービスで作成される追加ヒープの割り振りを制御し、そのストレージをどのように管理するかを指定します。
選択されている言語が Fortran のみの場合、HEAP の値は (4K,4K,ANY,KEEP,8K,4K) に変更されます。
HEAP には、以下のサブオプションがあります。
- 初期サイズ: 初期ヒープ・ストレージの最小サイズ。最大サイズは、ANYWHERE では 16 MB、BELOW では 1 MB です。
- 初期サイズ単位: 初期サイズを指定する単位 (K、M)。
- 初期サイズ 24: ALL31(OFF) で実行され、HEAP オプションで
ANYWHERE が指定されたアプリケーション用に取得される、16 MB 境界よりも下の初期ヒープ・ストレージの最小サイズ。最大サイズは BELOW では 1 MB です (ANYWHERE と一緒には使用されません)。
- 初期サイズ 24 単位: 初期サイズ 24 を指定する単位 (K、M)。
- 増分サイズ: ヒープ・ストレージの後に続く増分の最小初期サイズ。最大サイズは、ANYWHERE では 16 MB、BELOW では 1 MB です。
- 増分サイズ単位: 増分サイズを指定する単位 (K、M)。
- 増分サイズ 24: ALL31(OFF) で実行され、HEAP オプションで ANYWHERE が指定されたアプリケーション用に取得される、16 MB 境界よりも下のヒープ・ストレージの後に続く最小初期サイズ。最も近い 8 バイトの倍数に丸められます。
- 増分サイズ 24 単位: 増分サイズ 24 を指定する単位 (バイト、K、M)。
- ANYWHERE または BELOW:
ANYWHERE を使用すると、ヒープ・ストレージをストレージのどこにでも割り振ることができます。境界の上に使用可能なストレージがない場合は、境界の下のストレージが取得されます。
BELOW は、ヒープ・ストレージを、24 ビット・アドレッシングでアクセス可能な、ストレージの 16 MB 境界の下に割り振ることを指定します。
注:
- CICS では、HEAP のデフォルトは HEAP(4K,4080,ANYWHERE,KEEP,4K,4080) と想定されます。初期 HEAP 割り振りと HEAP 増分サイズは両方とも、最も近い 8 バイト (4 バイトではありません) の倍数に切り上げられます。
HEAP(0) が指定されている場合、初期ヒープは最初の使用で取得され、増分サイズに基づきます。
HEAP(,,ANYWHERE,,,) が有効な場合、ヒープ・セグメントの最大サイズは 1 GB (1024 MB) です。これらの制限は CICS のリリースによって異なります。
16 バイト CICS ストレージ・チェック・ゾーンに適応させるため、CICS でのデフォルト増分サイズは 4096 バイトではなく 4080 バイトです。適応できない場合は、ストレージの追加ページが割り振られます (境界よりも下のストレージが割り振られる場合のみ)。
- z/OS UNIX システム・サービス考慮事項: HEAP オプションはエンクレーブに適用されます。ヒープ・ストレージは、pthread_key_create、phtread_setspecific、および pthread_getspecific を使用して、スレッドで管理されます。