Vsam-components

提供:Dev Guides
移動先:案内検索

VSAM-コンポーネント

VSAMは次のコンポーネントで構成されています-

  • VSAMクラスター
  • コントロールエリア
  • 制御間隔

VSAMクラスター

VSAMは、レコードを保存するための論理データセットであり、クラスターと呼ばれます。 クラスターは、データセットのインデックス、シーケンスセット、およびデータ部分の関連付けです。 VSAMクラスターが占有するスペースは、制御インターバルと呼ばれる連続した領域に分割されます。 制御間隔については、このモジュールの後半で説明します。

VSAMクラスターには2つの主要なコンポーネントがあります-

  • *インデックスコンポーネント*にはインデックス部分が含まれます。 インデックスレコードは、インデックスコンポーネントに存在します。 インデックスコンポーネントを使用すると、VSAMはデータコンポーネントからレコードを取得できます。
  • *データコンポーネント*にはデータ部分が含まれます。 実際のデータレコードは、データコンポーネントに存在します。

制御間隔

VSAMの制御間隔(CI)は、非VSAMデータセットのブロックと同等です。 非VSAMメソッドでは、データの単位はブロックによって定義されます。 VSAMは、制御間隔と呼ばれる論理データ領域で動作します。

制御間隔は、ディスクとオペレーティングシステム間の転送の最小単位です。 レコードがストレージから直接取得されるたびに、レコードを含むCI全体がVSAM入出力バッファーに読み込まれます。 次に、目的のレコードがVSAMバッファーから作業域に転送されます。

制御間隔は-

  • 論理レコード
  • 制御情報フィールド
  • フリースペース

VSAMデータセットがロードされると、制御間隔が作成されます。 デフォルトの制御間隔サイズは4Kバイトで、最大32Kバイトまで拡張できます。

制御間隔の分析

制御間隔

以下は、上記のプログラムで使用される用語の説明です-

  • R1..R5 -制御間隔に保存されるレコード。
  • FS -FSは空き領域であり、データセットをさらに拡張するために使用できます。
  • RDF -RDFはレコード定義フィールドとして知られています。 RDFは3バイト長です。 レコードの長さを記述し、同じ長さの隣接するレコードの数を示します。
  • CIDF -CIDFは、制御間隔定義フィールドとして知られています。 CIDFは4バイト長で、制御間隔に関する情報が含まれています。

コントロールエリア

制御領域(CA)は、2つ以上の制御間隔をまとめることによって形成されます。 VSAMデータセットは、1つ以上のコントロールエリアで構成されます。 VSAMのサイズは、常にその制御域の倍数です。 VSAMファイルは、制御域の単位で拡張されます。

以下は、コントロールエリアの例です-

コントロールエリア