IBM System/360 [注 1] のストレージアーキテクチャでは、ボリュームテーブルオブコンテンツ( VTOC ) は、特定のDASDボリュームにあるデータセットを見つける方法を提供するデータ構造です。Linux on Z [2]のIBM Z 互換ディスクレイアウト[1] [注 2]を除き、これは MS/PC DOSファイルアロケーションテーブル(FAT)、NTFSマスターファイルテーブル(MFT)、およびUnix 系システムのファイルシステムのinodeテーブルと機能的に同等です。[注 3] VTOC は IPLTEXT [注 4]を格納するために使用されず、IPL プロセスで何の役割も果たさないため、MBR によって使用されるデータや MBR と機能的に同等なデータは保持されません。ボリューム上の各データセットの名前、サイズ、場所、およびアクセス許可が一覧表示されます。さらに、ボリューム上の連続した空き領域のすべての領域のエントリも含まれています。 DASD (ディスクなど) ボリュームの最初のシリンダの最初のトラックにある 3 番目のレコードはボリューム ラベルと呼ばれ、VTOC の位置へのポインターが含まれている必要があります。VTOC の位置は、ボリュームの初期化時に指定できます。VTOC は頻繁に参照されるため、パフォーマンス上の理由から、ボリュームのできるだけ中央に近い位置に配置できます。現在のシステムでは、 デバイス サポート機能[注 5]プログラムであるICKDSF を使用して DASD ボリュームを初期化すると、VTOC が DASD ボリュームに追加されます。
OS/360 および後継製品では、データ セットを割り当てるときに、通常、カタログを検索して、そのデータ セットが存在するボリュームを特定します。[注 6]プログラムが直接アクセス ストレージ デバイス(DASD) データ セットを開くと、OPEN ルーチンは、VTOC インデックス (VTOCIX) がある場合はそれを検索し、VTOCIX がない場合は VTOC を直接検索します。
データセット制御ブロックの種類
VTOCはデータセット制御ブロック[3] [4] ( DSCB )と呼ばれる140バイトのレコードのシーケンスで構成されています。DSCBには10種類あります。
VTOC はボリュームの最初の 64K トラック内に存在する必要があります。VTOC 内の最初の DSCB は常にフォーマット 4 の DSCB であり、VTOC 自体[注 8]と、この VTOC が存在する DASD ボリュームの属性を記述します。2 番目の DSCB は常にフォーマット 5 の DSCB であり、VTOC 内の空き領域を記述します。通常、VTOC の残りの部分には、空のエントリであるフォーマット 0 の DSCB と、データ セットの範囲を記述し、ディスク上の最大 16 個のそのような範囲の開始アドレスと終了アドレス[注 9]を示すフォーマット 1 またはフォーマット 3 の DSCB が含まれます。データ セットの最初の部分は、フォーマット 1 の DSCB によって記述されます。必要に応じて、フォーマット 3 の DSCB を使用して、データ セットのさらに詳しい範囲を記述します。データ セットが削除されると、そのフォーマット 1 の DSCB は上書きされてフォーマット 0 の DSCB になり、フォーマット 3 の DSCB が存在する場合は同様に削除されます。
元々、VTOC 検索は DSCB の順次スキャンであり、正しいフォーマット 1 DSCB が見つかるか、VTOC の終わりに達すると停止していました。DASD ボリュームが大きくなるにつれて、VTOC 検索がボトルネックになったため、VTOC インデックスが追加されました。
フォーマット 1 DSCB
このVTOCエントリはデータセットを記述し、その最初の3つのエクステントを定義します。これは、 Y2K対応の変更前の1973年のOS/360リリース21.7のDSCBのフォーマットです。[5]
参照
- データ制御ブロック(DCB)
- カウントキーデータ(CKD)
- マスター ブート レコード(PC 上の MBR)
注記
- ^ S/370からz/Architectureまでの後継機種を含む
- ^ IBM Z 互換ミニディスクの VTOC には、それぞれ Linux ファイル システムを含む最大 3 つのデータセットを含む VTOC があります。
- ^ VTOC では名前をストレージ割り当てに直接関連付けるだけで済みますが、 Unix ファイル システムでは inode を介して間接的に関連付けます。
- ^ ただし、シリンダー 0 トラック 0 の IPL テキストは VTOC を読み取って使用します。
- ^ DSF は、IBM が配布しなくなり、現在のハードウェアでは実行できないオリジナルの IBCDASD と IEHDASDR に代わるものです。
- ^ まれではありますが、ジョブがカタログをバイパスし、動的割り当てまたは JCL パラメータを使用してボリュームを指定することは可能です。
- ^ 拡張アドレスボリューム、65,520 個を超えるシリンダーを持つボリューム。
- ^ VTOCはデータセットであるため、VTOCにはデータセット名があります。VTOCのデータセット名は(44)X'04'文字で、OSの後のインスタンスでは保護された名前になっています。プログラムは許可なしにそこに書き込むことはできません。
- ^ 各エクステントは、ディスクの先頭 (CCHH=x'00000000') を基準とした開始 CCHH と終了 CCHH によって記述されます。
参考文献
- ^ 「IBM Z 互換ディスク レイアウト」。IBM Knowledge Center。
- ^ 「Linux on Z および LinuxONE」。IBM Knowledge Center。
- ^ ab 「データ セット制御ブロック」(PDF)。IBM System/360 オペレーティング システム: システム制御ブロック(PDF)。IBM システム リファレンス ライブラリ (第 10 版)。IBM Corporation。1973 年 4 月。pp. 165–173。GC28-6628-9。
- ^ ab 「データ セット制御ブロック (DSCB) タイプ」(PDF)。z/OS バージョン 2 リリース 4 DFSMSdfp 拡張サービス(PDF)。IBM Corporation。2020 年 12 月 13 日。pp. 2 ~ 17。SC23-6861-40。
- ^ IBM Corporation (1973 年 4 月). IBM System/360 オペレーティング システム: システム制御ブロック(PDF) . pp. 170–173 . 2016 年 8 月 1 日閲覧。
外部リンク
- z/OS 2.5 - DFSMS データ セットの使用(PDF) . IBM . 2023-03-24. SC23-6855-50 . 2023 年4 月 6 日に取得。
- z/OS 2.5 - DFSMSdfp Advanced Services (PDF) . IBM . 2023-03-24. SC23-6861-50 . 2023 年4 月 6 日に取得。
- z/OS システムIPL : シーケンスとキー制御。IBM 。
