VTOCフォーマット①
VTOCフォーマット①
ディスク装置の管理方法はMVS、MSP、VOS3の3つのOSでは基本的に互換がある。IPLレコードやVOLUMEラベルの位置(シリンダー0、トラック0の構成は同じ)は同じで、VTOCはVOLUMEラベルのオフセットx11にCCHHRの形式で格納されている。
VTOCの構成(キー部44バイト、データ部96バイトの140バイト固定長レコードの集合で、先頭レコードがFormat-4 DSCBレコード、2番目のレコードが最初のボリューム内空きエクステントを示すFormat-5 DSCBレコードとなる)と各DSCBレコードにも互換性があるが、大容量ボリュームや拡張アドレスボリューム用に拡張されたDSCBレコードには互換はない。OSの基本部分同様にMVS/SP時代から存在するDSCBレコードについては、レコードを構成するフィールドの並び順やフィールドの意味などは一部のフラグビットを除き基本的に互換である。
Format-0 DSCBレコード
完全互換である。
Format-1 DSCBレコード
ほぼ互換である。データセット名や編成形式、レコード形式、ブロック長、レコード長、2次割り振りに関する情報、データ・エクステント部の格納アドレス(最初の3エクステント分)など基本的な項目についてはその位置や内容は互換である。しかしながらSMSデータセットに関する属性を示すフラグビットやラージ・データセットの最終トラック位置を示すDS1LSTARの拡張部などには互換はなくMVS独自の制御フィールドや制御フラグとなる。
例えばオフセットx3DのDS1FLAG1フィールドの各フラグビットの意味は3つのOSでそれぞれ異なる。オフセットx4Eからx51の4バイトは、MVSではSMSデータセットの管理属性などが格納されるが、MSPではデータセットの最終参照時刻と最終更新時刻が、VOS3ではFormat-7 DSCBへのポインターが格納される。
Format-2 DSCBレコード
MSPでのみ使用される。Format-2 DSCBレコードはISAMデータセットの管理用レコードで、元々は3つのOSで互換があったが、MVSとVOS3ではすでにISAMデータセットのサポートが廃止されており現在では使用されない。
Format-3 DSCBレコード
レコード内容は互換である。ただし、1つのデータセットについて何個までのFormat-3 DSCBレコードが持てるかはデータセットの種類によるが、同じ種類のデータセットであっても(例えばVSAMのように)OSによって異なるものがある。Format-3 DSCBレコードが1つしか持てないデータセットの場合、Format-1 DSCBレコードで3個、Format-3 DSCBレコードで13個の計16までのエクステントを持つことができる。順次データセットなどがボリュームあたり最大16までのエクステントに制限されるのはこの仕様によるものである。
Format-4 DSCBレコード
Format-1 DSCBレコード同様にほぼ互換である。ボリューム(デバイス)の大きさやVTOC自身の位置やサイズなどを示す、基本的な項目についてはその位置や内容は互換である。しかしながらSMSボリュームやラージ・ボリュームの管理などに関連するフラグビットや追加のフィールドなどには互換はなくMVS独自の制御フィールドや制御フラグとなる。
例えばオフセットx3AのDS4VTOCI、オフセットx47のDS4DEVFGには一部に非互換フラグがある。オフセットx3CはMVSではSMSボリュームの管理用フラグ(DS4SMSFG)だが、、MSPとVOS3ではリザーブである。オフセットx54からx5E DS4AMCAT以降は、元々はVSAMカタログの管理用フィールドであったが、現在では各社毎に格納内容に違いがある。なお、x7DからのDS4EFLVLとDS4EFPTRはMVSのみで使用され、ボリュームの空きスペースがFormat-7 DSCBで管理される場合の最初のFormat-7 DSCBへのポインターなどが格納される。
Format-5 DSCBレコード
完全互換である。ただし、ボリューム内の空きスペースがFormat-5 DSCBレコードによって管理されるかどうかは、VTOC索引の使用の有無、ボリューム容量などによって変わる。ボリューム内の空きスペースの量と位置は、索引付きVTOCではVTOC索引データセット、大容量ボリューム(トラック数が65535を超えるボリューム)ではFormat-7 DSCBレコード(MVSのみ)もしくはVTOC索引データセット(MVSとVOS3)によって管理される。
Format-6 DSCBレコード
共用シリンダーの管理用に使用されたDSCBレコードであるが、現在のMVSではもはやサポートされていない。最初のFormat-6 DSCBレコードは、Format-4 DSCBレコードからチェインされていた。DSCBのマッピング・マクロであるIECSDSL1(MSPではKHHDSCB、VOS3ではJBBSDSL1)には今でも残っているため、どのような内容が格納されていたかは知ることができる。MSPとVOS3でもそれぞれマッピング・マクロにはMVSと同じ形式で記述されていて互換であったことがわかる。なお両OSともにマニュアルからは解説がはずされており、MVS同様に現在ではサポートされていないDSCBのようである。
Format-7 DSCBレコード
Format-7 DSCBレコードは全くの非互換DSCBである。MVSでは、65535を超えるトラック数を持つ大容量ボリュームが索引VTOCを持たない場合の空きスペース管理に使用されるもので、VOS3では、タイプ2カタログが管理するVSAMデータセットのボリューム情報の格納に使用され、使用目的からして異なるものである。また、MSPにはFormat-7 DSCBレコードは存在しない。
Format-8 DSCBレコード
MVSにしか存在しないDSCBレコードである。Format-8 DSCBは、EAV(拡張アドレスボリューム)のシリンダー管理スペースに作成されるデータセットの記述を行うDSCBレコードである。Format-8 DSCBはFormat-1 DSCBと同じ内容を持つが、データセットのエクステント・アドレス部の解釈が異なる。Format-1 DSCBではデータセット・エクステント・アドレスの開始位置と終了位置をそれぞれxCCCCHHHHの4バイトで表し先頭2バイトがシリンダー番号を示すが、Format-8 DSCBではxCCCCCCCHとなり先頭の2バイトがシリンダー番号の下位16ビットを続く12ビットがシリンダー番号の上位12ビットを示す。
Format-9 DSCBレコード
MVSにしか存在しないDSCBレコードである。Format-9 DSCBは、Format-8 DSCBからチェインされ、データセットに関する追加のメタ・データなどを格納するDSCBレコードである。Format-8もFormat-9もMSPとVOS3には存在しないので完全な非互換レコードとなる。
DSCBレコードは、IECSDSL1マクロ(MSPではKHHDSCB、VOS3ではJBBSDSL1の各マクロ)によってマッピングすることができる。ただし、MVSのFormat-7 DSCBレコードにはマッピング・マクロは提供されていない。代わりにマニュアル「z/OS DFSMSdfp:診断」には詳細な形式が解説されている。Format-7を除くDSCBレコードはマニュアル「z/OS DFSMSdfp拡張サービスもしくはDFSMSdfp Advanced Services」に記載されている。MSPでは「?OSIV/MSP?データ管理解説書」、VOS3では「VOS3/xx データ形式」の各マニュアルにて解説されている。