2008年02月21日

UDF1.02 4-17 Allocation Extent Descriptor

Allocation Descriptor (配置記述子) の配列 (Allocation Descriptors) (配置記述子列) は、 short_ad または long_ad または ext_ad の配列です。 これは、 記録箇所、 割付け済みだが未記録、 未割付けで未記録、 箇所の羅列を記述します。

配置記述子列は、ファイルエントリや空間表に使われます。 ファイルエントリでは、ファイル本体の場所を記述します。 ファイルが分割されているとき、その各部分を先頭から順番にこの配列に記述していきます。

配置記述子列は、ファイルエントリなどの最後に用意された欄に記述していきます。 そして、用意されたバイトの長さ (L_AD) が終了した場合か、 Extent Length が 0 の配置記述子で終了します。
ですが、(余り考えたくありませんが) ファイルが細分化したり、 繰り返し書き込み可能なデバイスで記録領域や空き領域が入り組んで 一箇所に収まらなくなったとき、列を分けて置く必要に迫られるときがあります。 そういうとき、 配置記述子の Extent Length の最上位 2 ビットを 3 と置くと、 それは次の配置記述子列の場所を示すことになります。 (その配置記述子列はそこで終了です。)

Allocation Extent Descriptor (割付け範囲記述子) (AED) は、 その次に用意された配置記述子列のヘッダになります。

Allocation Extent Descriptor format
BP大きさ名称内容
0〜1516struct tagDescriptor TagTagID=258
16〜194unsigned longPrevious Allocation Extent Location前の配置記述子列の場所
20〜234unsigned longLength of Allocation Descriptors (=L_AD)配置記述子列の長さ [bytes]

24 バイト目より、配置記述子列が L_AD の長さ分続きます。

配置記述子の型 (short_ad または long_ad または ext_ad) は前の配置記述子列と同じです。

UDF1.02 では、一つの AED と配置記述子列の長さの総和を 1 論理ブロックに収まるようにします。

DVD-ROM では普通 AED を使いません。

posted by 七癖 at 10:09| Comment(0) | TrackBack(0) | ファイルシステム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。