X 0609 : 1998
(1)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
まえがき
この規格は,工業標準化法に基づいて,日本工業標準調査会の審議を経て,通商産業大臣が制定した日
本工業規格である。
この規格の一部が,技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の
実用新案登録出願に抵触する可能性があることに注意を喚起する。主務大臣及び日本工業標準調査会は,
このような技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新案登
録出願にかかわる確認について,責任はもたない。
この規格には,次に示す附属書がある。
附属書1(規定) UDF識別子及び範囲識別子(第1章の一部分とする。)
附属書2(規定) オペレーティングシステム識別子(第1章の一部分とする。)
附属書3(規定) ファイル特性(第4章の一部分とする。)
附属書4(参考) ファイル識別子の翻訳(第4章の一部分とする。)
附属書5(規定) ICB方策(第4章の一部分とする。)
附属書6(参考) ファイル種別の解釈(第4章の一部分とする。)
附属書7(規定) ICBタグのビット6,7,8,10の解釈(第4章の一部分とする。)
附属書8(規定) 許可条件(第4章の一部分とする。)
附属書9(規定) 一意ID(第4章の一部分とする。)
附属書10(規定) ファイル日時拡張属性(第4章の一部分とする。)
附属書11(規定) 処理システム用拡張属性(第4章の一部分とする。)
附属書12(規定) 応用プログラム用拡張属性(第4章の一部分とする。)
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
日本工業規格 JIS
X 0609 : 1998
情報交換用非逐次記録高密度光ディスクの
ボリューム構造及びファイル構造
Volume and file structure of high-density optical disks
using non-sequential recording for information interchange
序文 この規格は,1996年にOSTA (Optical Storage Technology Association) から発行されたUDF (Universal
Disk Format) revision 1.02の技術的内容に完全に整合し,UDF revision 1.02が多くの箇所で参照している,
1995年に発行されたISO/IEC 13346の規定内容の必要部分を省略なしに含めて,単独で“情報交換用非逐
次記録高密度光ディスクのボリューム構造及びファイル構造”を規定するように作成した日本工業規格で
ある。
第1章 一般
1.1
適用範囲 この規格は,DVDなどの高密度光ディスクを用いての情報処理システム利用者間で情報
交換を行うためのボリューム認識,起動ブロック認識,ボリューム構造及びファイル構造に関するファイ
ルシステム及びその実装を規定する。
媒体への記録は,どのような順序でもセクタを記録可能とする方法で行わなければならない。
備考 媒体は1種類に限定しない。媒体の種別は追記形,再生専用形,書換形又はそれらを組み合わ
せた複合形のどれであってもよい。
この規格は,次の4章構成をとる。
a) 第1章 一般
b) 第2章 ボリューム認識及び起動ブロック認識
c) 第3章 ボリューム構造
d) 第4章 ファイル構造
e) 附属書1(規定) UDF識別子及び範囲識別子(第1章の一部分とする。)
f)
附属書2(規定) オペレーティングシステム識別子(第1章の一部分とする。)
g) 附属書3(規定) ファイル特性(第4章の一部分とする。)
h) 附属書4(参考) ファイル識別子の翻訳(第4章の一部分とする。)
i)
附属書5(規定) ICB方策(第4章の一部分とする。)
j)
附属書6(参考) ファイル種別の解釈(第4章の一部分とする。)
k) 附属書7(規定) ICBタグのビット6,7,8,10の解釈(第4章の一部分とする。)
l)
附属書8(規定) 許可条件(第4章の一部分とする。)
m) 附属書9(規定) 一意ID(第4章の一部分とする。)
n) 附属書10(規定) ファイル日時拡張属性(第4章の一部分とする。)
o) 附属書11(規定) 処理システム用拡張属性(第4章の一部分とする。)
2
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
p) 附属書12(規定) 応用プログラム用拡張属性(第4章の一部分とする。)
第1章は,引用規格,定義,表記法及びほかの3章に適用する基本構造を規定する。
第2章は,次を規定することによって,ボリューム認識及び起動ブロック認識に関するフォーマット及
び関連システム要件を規定する。
a) ボリューム認識
b) システムを動作状態にするために使う起動記述子
c) 媒体交換の水準
d) 異なるシステムの間での情報交換を可能にするため,情報処理システムが提供する処理に対する要件
第2章は,この要件を規定するため,適合する媒体を作成又は受領しようとするシステムが提供す
る機能をも規定する。
第3章は,次を規定することによってボリューム構造に関するフォーマット及び関連システム要件を規
定する。
a) ボリュームの属性及びボリュームに記録する記述子
b) ボリュームの区画の属性
c) 論理ボリュームの属性及び論理ボリュームに記録する記述子
d) 媒体交換の水準
e) 異なるシステムの間での情報交換を可能にするため,情報処理システムが提供する処理に対する要件
第3章は,この要件を規定するため,適合する媒体を作成又は受領しようとするシステムが提供す
る機能をも規定する。
第4章は,次を規定することによって,ファイル構造に関するフォーマット及び関連システム要件を規
定する。
a) ファイルの配置
b) ファイルの属性
c) 論理ボリュームのファイル間の関連
d) 媒体交換の水準
e) 異なるシステム間での情報交換を可能にするために,情報処理システムが提供する処理に対する要件
第4章は,この要件を規定するため,適合する媒体を作成又は受領しようとするシステムが提供す
る機能をも規定する。
1.2
適合性
1.2.1
媒体の適合性 媒体が,記録のための規格(1.4.19参照)に適合し,媒体のセクタに記録した情報
が,第1章〜第4章のすべての規定に適合する場合に,媒体の記録はこの規格に適合しているとする。
1.2.2
情報処理システムの適合性 第1章〜第4章が,作成システム(2.6,3.8及び4.12参照),受領シ
ステム(2.7,3.9及び4.13参照)又は両方のシステムに関して規定する要件を,情報処理システムが満た
せば,その情報処理システムはこの規格に適合しているとする。
1.3
引用規格 次の規格に含まれる規定内容は,この規格の文中での引用によってこの規格の規定とな
る。表示された版は,この規格の出版の際に有効であったものである。規格はすべて改訂の対象であり,
この規格に基づく合意の関係者は,次に示す規格の最新版の適用可能性を調べるのがよい。現在有効な国
際規格の登録維持は,ISO及びIECの構成員が行っている。
JIS X 0201 : 1997 7ビット及び8ビットの情報交換用符号化文字集合
備考 ISO/IEC 646 : 1991 (Information technology−ISO 7-bit coded character set for information
3
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
interchange) が,このJISに対応している。
JIS X 0606-1990 情報交換用CD-ROMのボリューム及びファイルの構造
備考 ISO 9660 : 1988 (Information processing−Volume and file structure of CD-ROM for information
interchange) が,このJISに対応している。
ISO/IEC 9945-1 : 1990 Information technology−Portable operating system interface (POSIX) −Part 1 :
System Application Program Interface (API) [C Language]
JIS X 0607-1996 非逐次記録を用いる追記形及び書換形の情報交換用媒体のボリューム及びファイル
の構造
備考 ISO/IEC 13346 : 1995 (Information technology−Volume and file structure of write-once and
rewritable media using non-sequential recording for information interchange) が,このJISに一
致している。
JIS X 0608 : 1997 再生専用形及び追記形の情報交換用コンパクトディスク媒体のボリューム及びフ
ァイルの構造
備考 ISO/IEC 13490 : 1995 (Information technology−Volume and file structure of read-only and
write-once compact disk media for information interchange) が,このJISに一致している。
ISO/IEC 13800 : 1995 Information technology−Procedure for the registration of identifiers and attributes for
volume and file structure
ITU-T Recommendation V.41 Code−Independent Error−Control System
1.4
定義 この規格で用いる主な用語の定義は,次のとおりとする。
1.4.1 開始点 (anchor point) ボリューム記述子列のエクステントを識別する記述子を記録するための,
規定された論理セクタ番号集合中の一つの論理セクタ番号。
1.4.2
応用プログラム (application) ファイルの内容を処理し,ファイル又はそのファイルを記録した
ボリュームに関するシステム指定の属性データも処理できるプログラム。
1.4.3
バイト (byte) 単位として取り扱う8個の2進数字の列。記録のための規格(1.4.19参照)がバ
イトを記録する枠組みを8ビットより大きいと規定しているときには,この規格ではバイトはその枠組み
の最下位の8ビットに記録し,その他のビットにはZERO(1.5.7参照)を記録しなければならない。
1.4.4
巡回冗長検査 (cyclic redundancy check, CRC) バイト列の正しさを計算する方法。
1.4.5
記述子 (descriptor) ボリューム又はファイルの記述情報を含む構造。
1.4.6
エクステント (extent) 第2章においては,セクタ番号が昇順に連続するセクタの列であって,
エクステントの番地又は位置は,セクタ列の最初のセクタの番号とする。
第3章においては,昇順に連続する論理セクタ番号(3.3.1.2.1参照)をもつ論理セクタの集合であって,
エクステントの番地又は位置は,論理セクタ列の最初の論理セクタ番号とする。
第4章においては,昇順に連続する論理ブロック番号をもつ論理ブロックの列であって,エクステント
の番地又は位置は,その先頭論理ブロックの番号とする。
1.4.7
ファイル (file) 一つにまとまった情報。
1.4.8
ファイル集合 (file set) ファイル及びディレクトリの集まり。
1.4.9
グループID (group ID) 利用者のグループの識別情報。
1.4.10 処理システム (implementation) 情報処理システムが作成システム,受領システム又はその両方
のシステムとして動作することを可能とする処理の集合。
1.4.11 論理ブロック (logical block) 論理ボリューム中の割付けの単位。
4
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
1.4.12 論理セクタ (logical sector) ボリューム中の割付けの単位。
1.4.13 論理ボリューム (logical volome) 一つ以上のファイル集合を記録した区画の空でない集合。
1.4.14 作成システム (originating system) ほかのシステムとの情報交換を目的としてボリューム集合に
ファイルの集合を書き込むことのできる情報処理システム。
1.4.15 区画 (partition) 第3章においては,ボリューム中の論理セクタから成る一つのエクステント。
第4章においては,ボリューム中の論理ブロックのエクステント。
1.4.16 受領システム (receiving system) 情報交換を目的としてほかのシステムが書き込んだボリュー
ム集合からファイルの集合を読み出すことのできる情報処理システム。
1.4.17 レコード (record) 情報の単位として取り扱うバイトの列。
1.4.18 セクタ (sector) 媒体のほかの番地付けた部分とは独立にアクセス可能な最小の番地付けた部分
のデータ領域。
1.4.19 記録のための規格 (standard for recording) 媒体中に記録する情報の記録方法及び番地付けの方
法を規定する規格。記録のための規格中で,この規格に関係のある規定は次のとおりとする。
a) 各セクタに対する一意の番地
b) 各セクタの長さ
c) セクタが再生専用形,追記形又は書換形であるかを判定する方法
d) 追記形の媒体に対して,各セクタが未記録かどうかを検出する方法
e) セクタの記録に際して行う事前処理の必要性の有無
この規格と共に用いる記録のための規格には,媒体の作成者と受領者との間の同意が必要である。
1.4.20 利用者 (user) 処理システムが提供するサービスを呼び出す人,又はほかの実体(例えば,応用
システム)。
1.4.21 利用者ID (user ID) 利用者の識別情報。
1.4.22 ボリューム (volume) 関係する記録のための規格が規定するセクタ番地空間。
備考 媒体がセクタ番地の1個の集合をもつとき,その媒体は1個のボリュームとする。
1.4.23 ボリューム集合 (volume set) 同一のボリューム集合識別子をもつ1個以上のボリュームの集ま
り。
複数ボリュームを利用可能にすることは,オプションとする。処理システムは,単一ボリュームだけを
利用可能にして,適合性を主張できる。
同一ボリューム集合中のすべての媒体は,同じ物理セクタ長をもつ。書換形/上書き可能形の媒体及び
追記形の媒体は,同一ボリューム集合に混在してはならない。
1.5
表記法 この規格では,次の表記法を用いる。
1.5.1
数値表記法
1.5.1.1
10進表記法 10進表記法における数値は,10進数字で表す。
1.5.1.2
16進表記法 16進表記法における数値は, “#” を前置した1個以上の16進数字の列で表す。
16進数字 0 1 2 3 4 5 6 7 8 9 A
B
C
D
E
F
10進数値 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1.5.2
ビット欄 整数値を含む欄又は整数値を含む欄の一部は,ビットの配列として解釈する。このビッ
トの配列をビット欄と呼ぶ。
nビットのビット欄におけるビット位置は,最下位のビットを0,最上位のビットをn−1に番号付ける。
5
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
1.5.3
記述子フォーマット 位置,長さ,名前及び各欄の内容を規定する表1.1によって,記述子フォー
マットを規定する。各欄の解釈は,表に関連する文によって示す。
表1.1 記述子フォーマットの例
バイト位置 長さ(バイト)
名前
内容
0
4
データ長 (=D̲L)
Uint32 (1.6.1.5)
4
32
応用識別子
regid (1.6.4)
36
4
予備
#00バイト
40
2
種別
Int16 (1.6.1.4)=57
42
D̲L
処理システム用
バイト
[D̲L+42]
*
埋込み
#00バイト
表1.1によって規定する記述子は,6個の欄をもつ。
a) データ長欄は,記述子のバイト位置0〜3にUint32(1.6.1.5参照)に従って記録した32ビット符号な
し整数とする。この欄の値はD̲Lとして参照する。
b) 応用識別子欄は,記述子のバイト位置4〜35に1.6.4に従って記録した応用プログラムの識別情報を規
定する32バイトの欄とする。
c) 予備欄は,記述子のバイト位置36〜39に記録した,各々が値#00をもつ4バイトとする。
d) 種別欄は,記述子のバイト位置40〜41にInt16 (1.6.1.4) に従って記録した16ビット符号付き整数と
し,その値は57でなければならない。
e) 処理システム用欄は,バイト位置42〜D̲L+41に記録したD̲Lバイトとする。ここで,D̲Lは,こ
の記述子のデータ長欄に記録した値とする。記述子の中で参照する記号で表した長さは,その記述子
の中で定義するか,又は欄の解釈の中で記述しなければならない。この欄の解釈を規定する節は,こ
の規格が規定しないとしてもよいし,このバイトの特定の解釈を規定することもできる。
f)
埋込み欄は,各々が#00の値をもつ*で表す可変長の欄とする。この欄の解釈を規定する節は,この欄
の長さを規定しなければならない。
各欄の詳細規定において,バイトがnである欄をbyte (n) と表記する。
1.5.4
文字列 バイト列の値は,ISO/IEC 646 IRVで符号化した “ ” で囲んだ文字列で規定する。例えば,
“sheep” はバイト列#53 #68 #65 #65 #70を表す。
1.5.5
算術表記法 表記法ip (x) は,xの整数部を意味する。
表記法rem (a, b) は,a−b×ip (a/b) を意味する。ここで,a及びbは整数とする。
1.5.6
記述子列スキーマ この節が規定する表記法(以後,スキーマと呼ぶ。)は,構造フォーマットを
規定する。空白は意味をもたない。構造は,項の列でなければならない。項は<>で囲んだ名前,又は{}
で囲んだ構造定義のどちらかでなければならない。 [lab] を前置することによって,項に名前labを付け
てもよい。項には,表1.2に示す繰返し演算子の一つを添字として付けてもよい。
表1.2 繰返し演算子
演算子
解釈
n+m
n回からm回繰り返す。
n+
n回以上繰り返す。
n
n回繰り返す。
項1|項2という表現は,列中のこの位置に項1又は項2のどちらかが現れることを意味する。
名前は,次の三つの方法の一つで決定する。
a) この規格で定義した記述子又は項の名前とする。
6
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
b) [ ]表記法を用いて構造列定義の中で定義する。
c) 構造列定義に伴う文中で定義する。
項の後に( )で囲まれた節があるとき,その項は,その節が真である対象だけを示す。
これらの演算子を,評価する順序が遅いもの順に並べると,次のとおりとなる。
|繰返し演算子[ ]( )
例として,図1.1に示すスキーマは,セットという項が0個以上のグループを意味することを規定する。
ここでグループは,二つ以上のグループ前端,グループ要素及び一つ以上のグループ後端の列とする。グ
ループ要素は,種別1の一つ若しくは二つの記述子,長さが偶数である種別2の一つの記述子,又は種別
3の一つ以上の記述子のいずれかとする。
[セット]{
[グループ]{
<グループ前端>2+
[グループ要素]{
<種別1の記述子>1+2
|<種別2の記述子>(記述子長が偶数)
|<種別3の記述子>1+
}
<グループ後端>1+
}0+
}
図1.1 構造列スキーマの例
1.5.7
ほかの表記法 この規格に使うほかの表記法は,表1.3に規定する。
表1.3 ほかの表記法
表記法
解釈
BP
記述子内のバイト位置。0から始まる。
RBP
記述子内の相対バイト位置。0から始まる。
ZERO
値が0である一つのビット。
ONE
値が1である一つのビット。
1.6
基本データ種別 この規格は,次の基本種別を使用する。
1.6.1
数値 2進表記法で表したnビットの数値の記録フォーマットは,種別名Intn又はUintnで示す。
ここで,
a) nは,2進数のビットの個数を表す。
b) Uintは,2進数で表す,0≦x<2nの範囲の符号なし整数を示す。
c) Intは,2の補数で表す,−2n−1<x<2n−1の範囲の符号付き整数を示す。
数値は,この規格が規定する構造の欄を次のフォーマットの一つによって記録する。適用するフォーマ
ットは,構造の記述の中で規定する。
参考 符号付き数値は,−2n−1を含まない。
1.6.1.1
8ビット符号なし数値 Uint8の数値は,8ビット符号なし数として1バイト欄に記録する。
1.6.1.2
8ビット符号付き数値 Int8の数値は,2の補数として1バイト欄に記録する。
7
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
1.6.1.3
16ビット符号なし数値 16進表現で#wxyzと表すUint16の数値は,2バイト欄に#yz #wxと記録
する。
参考 例えば,10進数4660は16進表現で#1234となり,#34 #12と記録する。
1.6.1.4
16ビット符号付き数値 16進表現#wxyzによって,2の補数で表すInt16の数値は,2バイト欄に
#yz #wxと記録する。
参考 例えば,10進数−30845は16進表現で#8765となり,#65 #87と記録する。
1.6.1.5
32ビット符号なし数値 16進表現で#stuvwxyzと表すUint32の数値は,4バイト欄に#yz #wx #uv
#wxと記録する。
参考 例えば,10進数305419896は16進表現で#12345678となり,#78 #56 #34 #12と記録する。
1.6.1.6
32ビット符号付き数値 16進表現で#stuvwxyzによって,2の補数で表すInt32の数値は,4バイ
ト欄に#yz #wx #uv #stと記録する。
参考 例えば,10進数−559038737は16進表現で#DEADBEEFとなり,#EF #BE #AD #DEと記録す
る。
1.6.1.7
64ビット符号なし数値 16進表現で#klmnopqrstuvwxyzと表すUint64の数値は,8バイト欄に#yz
#wx #uv #st #qr #op #mn #klと記録する。
参考 例えば,10進数12345678987654321012は16進表現で#AB54A9A10A23D374となり,#74 #D3 #23
#0A #A1 #A9 #54 #ABと記録する。
1.6.2
文字集合及び文字符号化 この規格で規定する記述子中の文字は,この1.6.2に規定する事項を除
き,ISO/IEC 646 IRVに従って符号化しなければならない。
文字列を規定する欄で使用可能な文字集合をd文字と呼ぶ。文字列を規定する欄は,d文字又はdstring
(1.6.2.4参照)のいずれかを含むものとして指定する。これらの欄に使えるd文字の指定及び記録方法は,
1.6.2.1が定義するcharspecによって規定する。
1.6.2.1
文字集合の指定 記述子のある欄に使用可能な文字集合は,表1.4に示すフォーマットをもつ
charspecによって規定する。
表1.4 charspecフォーマット
RBP
長さ
名前
内容
0
1
文字集合の種別 Uint8 (1.6.1.1) =0
1
63
文字集合情報
バイト= “OSTA Compressed Unicode”
1.6.2.1.1
文字集合の種別 (RBP0) この欄は,表1.5に示す文字集合を識別することによって,使用可
能な文字を指定する。この欄には,CS0符号化文字集合を示す種別0を設定する。
表1.5 使用可能な文字集合
種別
使用可能な文字
0
CS0符号化文字集合 (1.6.2.2)
1.6.2.1.2
文字集合情報 (RBP1) この欄には,ASCII列の “OSTA Compressed Unicode” を設定する。
1.6.2.2
CS0符号化文字集合 CS0符号化文字集合及びそのd文字は,媒体の作成者と受領者との間の同
意に従わなければならない。
文字集合の識別を,文字集合情報欄に指定してもよい。その識別情報は,欄の先頭から連続して記録し,
使用しないバイトには#00を設定する。
1.6.2.3
文字集合のリスト 文字集合種別(1.6.2.1.1参照)のリストは,文字集合種別がそのリストに属
する場合は,対応するビットをONEとし,それ以外はZEROにするUint32(1.6.1.5参照)で記録する。
8
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
文字集合の種別CS0のビットは,Uint32(1.6.1.5参照)のビット0に記録する。ビット2〜31はZERO
に設定する。
1.6.2.4
固定長文字欄 長さnのdstringは,d文字(1.6.2参照)を記録するnバイトの欄とする。
文字の記録に使用するバイトの数は,バイトn−1にUint8(1.6.1.1参照)で記録する。ここでnは,こ
の欄の長さとする。文字は欄の先頭バイトから記録し,記録した文字以後からバイトn−2までのバイト位
置に,すべて#00を設定する。
特記しない限り,dstringはすべてのバイトが#00であってはならない。
1.6.3
日時表示 timestampは,表1.6に示すフォーマットで記録日時を指定する。すべての欄が0の場
合,日時は指定しないことを意味する。
表1.6 timestampフォーマット
RBP
長さ
名前
内容
0
2
種別及び時間帯
Uint16 (1.6.1.3) 種別=1
2
2
年
Int16 (1.6.1.4)
4
1
月
Uint8 (1.6.1.1)
5
1
日
Uint8 (1.6.1.1)
6
1
時間
Uint8 (1.6.1.1)
7
1
分
Uint8 (1.6.1.1)
8
1
秒
Uint8 (1.6.1.1)
9
1
1/100秒
Uint8 (1.6.1.1)
10
1
100マイクロ秒
Uint8 (1.6.1.1)
11
1
マイクロ秒
Uint8 (1.6.1.1)
1.6.3.1
種別及び時間帯 (RBP0) この欄の最上位4ビットは,4ビット数として解釈し,表1.7に示す
timestampの解釈を規定する。この4ビット数には,現地時を示す1を設定する。
表1.7 timestampの解釈
種別
解釈
1
timestamは,現地時を指定する。
下位12ビットは,2の補数で表す符号付き12ビット数として解釈し,次のとおりに解釈する。
a) 値が−1440〜1440の範囲では,その値は協定世界時からの日時の差を分で指定する。
b) 値が−2047の場合には,時間帯を指定していない。
時間帯の概念が利用可能なオペレーティングシステムは,協定世界時からの時間帯の差(1分ごと)を
この欄に指定する。それ以外は,この欄の時間帯の部分には,値 (−2047) を設定する。
1.6.3.2
年 (RBP2) この欄は,1〜9999の数値で年を指定する。
1.6.3.3
月 (RBP4) この欄は,1〜12の数値でその年の月を指定する。
1.6.3.4
日 (RBP5) この欄は,1〜31の数値でその月の日を指定する。
1.6.3.5
時間 (RBP6) この欄は,0〜23の数値でその日の時間を指定する。
1.6.3.6
分 (RBP7) この欄は,0〜59の数値でその時間の分を指定する。
1.6.3.7
秒 (RBP8) 種別欄の値が2の場合,この欄は0〜60の数値でその分の秒を指定する。それ以外
は,この欄は0〜59の数値でその分の秒を指定する。
1.6.3.8
1/100秒 (RBP9) この欄は,0〜99の数値で1/100秒を指定する。
1/100秒の概念をサポートしないオペレーティングシステムでは,処理システムはこの欄に0を設定す
る。
1.6.3.9
100マイクロ秒 (RBP10) この欄は,0〜99の数値で100マイクロ秒を指定する。
9
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
100マイクロ秒の概念をサポートしないオペレーティングシステムでは,処理システムはこの欄に0を
設定する。
1.6.3.10 マイクロ秒 (RBP11) この欄は,0〜99の数値でマイクロ秒を指定する。
マイクロ秒の概念をサポートしないオペレーティングシステムでは,処理システムはこの欄に0を設定
する。
1.6.4
実体識別子 regidは,実体識別子を規定し,表1.8に示すフォーマットで記録する。regid中の識
別情報は,ある情報に関係し,この情報をregidの適用範囲と呼ぶ。regidの適用範囲は,regidを記録した
欄と,その記法がregidの適用範囲部分であると指定するすべての情報とから成る。
表1.8 regidフォーマット
RBP
長さ
名前
内容
0
1
フラグ
Uint8 (1.6.1.1) =ZERO
1
23
識別子
バイト
24
8
識別子添字
バイト
実体識別子を,次に示す三つの種別に分類する。
a) 範囲識別子
b) UDF識別子
c) 処理システム識別子
1.6.4.1
フラグ (RBP0) この欄のビットには,すべてZEROを設定する。その意味は,表1.9に示すregid
の特性とする。
表1.9 regidの特性
ビット
解釈
0
不正:処理システムがこのregidで規定する識別情報が有効でないregidの適
用範囲内に媒体上の情報を修正していない。
1
保護:このreidの内容を修正してもよい(3.8.1及び4.12.2.3参照)。
1.6.4.2
識別子 (RBP1) この欄には,処理システムを一意に識別する識別子を設定する。この方法は,
異なる処理システム間で交換する媒体中に記録した構造が,どの処理システムによるものかの識別を可能
にする。
処理システムが,ほかの処理システムで書き込んだ媒体中に存在する構造を更新する場合,現状の処理
システムは,現状の処理システムを一意に識別する値を識別子欄に設定する。
表1.10は,定義する実体識別子欄を要約したものであり,設定しなければならない値を示す。ここで,
N/Aは規定しないことを示す。
10
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表1.10 実体識別子
記述子
欄
識別子値
添字種別
基本ボリューム記述
子
処理システム識別子 “*Developer ID”
処理システム識別子添字
処理システム用ボリ
ューム記述子
処理システム識別子 “*Developer ID”
処理システム識別子添字
処理システム用ボリ
ューム記述子
処理システム識別子 “*UDF LV Info”
UDF識別子添字
区画記述子
処理システム識別子 “*Developer ID”
処理システム識別子添字
論理ボリューム記述
子
処理システム識別子 “*Developer ID”
処理システム識別子添字
論理ボリューム記述
子
範囲識別子
“*OSTA UDF Compliant”
範囲識別子添字
ファイル集合記述子 範囲識別子
“*OSTA UDF Compliant”
範囲識別子添字
ファイル識別記述子 処理システム識別子 “*Developer ID”
処理システム識別子添字
(オプション)
ファイルエントリ
処理システム識別子 “*Develoer ID”
処理システム識別子添字
UDF拡張属性
処理システム識別子 附属書1を参照
UDF識別子添字
非UDF拡張属性
処理システム識別子 “*Developer ID”
処理システム識別子添字
装置仕様拡張属性
処理システム識別子 “*Developer ID”
処理システム識別子添字
論理ボリューム保全
記述子
処理システム識別子 “*Developer ID”
処理システム識別子添字
区画保全エントリ
処理システム識別子 N/A
N/A
備考 実体識別子欄の値は,バイトの列として解釈し,CS0で規定するd文字列としては解釈しな
い。この規格で容易に使用するために,この欄で使用する値は,ASCII文字列で規定する。
実体識別子の表の識別子値欄で示した “*Develoer ID” は,現状の処理システムを一意に識別する実体識
別子を示す。規定した値は,新しい記述子を作成するときに使用する。規定した値は,規定した実体識別
子欄の適用範囲内で何かを更新するときに,存在する記述子にも使用する。
実体識別子の表の添字種別欄は,相当する実体識別子で使用する添字のフォーマットを定義する。これ
らの異なる添字種別は,1.6.4.3で定義する。
備考 附属書1で定義するすべての識別子は,OSTAが登録する。
1.6.4.3
識別子添字 (RBP24) この欄は,追加の識別情報を指定する。
識別子欄のフォーマットは,識別子の種別に依存する。
附属書1で規定する範囲識別子に関しては,識別子添字欄は,表1.11に示す構成とする。
表1.11 範囲識別子添字欄フォーマット
RBP
長さ
名前
内容
0
2
UDF版数
Uint16 (=#0102)
2
1
範囲フラグ
Uint8
3
5
予備
バイト (=#00)
UDF版数欄は,版数1.02を示す値#0102を設定する。この欄は,改訂版に加えられた変更を,処理シス
テムが検出することを可能にする。範囲識別子は,論理ボリューム記述子及びファイル集合記述子だけに
使用する。範囲フラグ欄は,表1.12に示すビットフラグを定義する。
11
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表1.12 範囲フラグ
ビット
解釈
0
ハード書込み保護
1
ソフト書込み保護
2〜7
予備
ソフト書込み保護フラグは,利用者が設定可能なフラグであり,このフラグが存在する記述子の適用範
囲で,ボリューム構造又はファイルシステム構造が書込み保護されていることを示す。ソフト書込み保護
フラグの値がONEの場合,利用者の書込み保護を示す。このフラグは,利用者が設定及び解除してもよ
い。ハード書込み保護フラグは,処理システムが設定可能なフラグであり,このフラグが存在する記述子
の適用範囲で永久的な書込み保護を示す。ハード書込み保護フラグの値ONEの場合,永久的な書込み保
護を示す。このフラグは,一度設定すると解除してはならない。ハード書込み保護フラグは,ソフト書込
み保護フラグに優先する。これらのフラグは,論理ボリューム記述子及びファイル集合記述子だけに使用
する。論理ボリューム記述子中のフラグは,ファイル集合記述子中のフラグに優先する。
附属書1で定義するUDF識別子に関しては,識別子添字欄は,表1.13に示す構成とする。
表1.13 UDF識別子添字欄フォーマット
RBP
長さ
名前
内容
0
2
UDF版数
Uint16 (=#0102)
2
1
オペレーティングシステムクラス Uint8
3
1
オペレーティングシステム識別子 Uint8
4
4
予備
バイト (=#00)
オペレーティングシステムクラス及びオペレーティングシステム識別子欄の内容は,オペレーティング
システム識別子に関する附属書2に記述する。
この規格で規定しない実体識別子(処理システム識別子)を使用する処理システムに関しては,識別子
添字欄は,表1.14に示す構成とする。
表1.14 処理システム識別子添字欄フォーマット
RBP
長さ
名前
内容
0
1
オペレーティングシステムクラス Uint8
1
1
オペレーティングシステム識別子 Uint8
2
6
処理システム用
バイト
備考 オペレーティングシステムクラス欄及びオペレーティングシステム識別子欄の意図した使用及
び重要性を理解することが重要である。これらの欄の主な目的は,この規格のボリューム中で
問題を検出したときに,誤りを取り除く支援をすることである。この欄は,利用者に提供可能
な有効な情報も提供する。
これらの二つの欄を正しく設定した場合,処理システムに次の情報を提供する。
a) 最後に特定の構造を更新したオペレーティングシステムを識別する。
b) 最後に特定のファイル又はディレクトリを更新したオペレーティングシステムを識別する。
c) 開発者が処理システムとともに複数のオペレーティングシステムを提供する場合,問題が
発生したオペレーティングシステムを決定する支援をする。
第2章 ボリューム認識及び起動ブロック認識
2.1
ほかの章との関係 ほかの規定又はほかの章に対する第2章の関係を,2.1が規定する。
2.1.1
入力 第2章は,ほかの規定又はほかの章による次の規定を必要とする。
12
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
a) 記録のための規格(1.4.19参照)
b) ボリューム中の物理的先頭セクタの番地(2.2.1.1参照)
c) ボリューム認識空間(2.2.2参照)
2.1.2
出力 第2章は,ほかの規定又はほかの章が使ってもよい次の内容を規定する。
a) ボリュームに情報を記録するために使った規格(2.3.1.2参照)の識別
b) システムを動作状態にするために使ってもよい情報
2.2
ボリューム認識
2.2.1
ボリューム中のデータの構成
2.2.1.1
セクタ番号 ボリュームの各セクタは,ここに規定する一意のセクタ番号で識別する。セクタ番
号0は,ボリュームの最初のセクタに割り当てる。
2.2.2 ボリューム認識空間 ボリューム認識空間のバイトは,昇順に割り当てた連続整数で番号付けする。
2.2.3
ボリューム認識領域 ボリューム認識列は,ボリューム認識空間のバイト番号32767の後から始ま
る最初のセクタの最初のバイトで開始する連続番号付きセクタに記録する。第2章では,ボリューム認識
空間に記録した,ボリューム認識領域以外の情報の解釈は規定しない。
2.2.3.1
ボリューム認識列 ボリューム認識列は,図2.1のスキーマに従って連続的に記録した1個以上
のボリューム構造記述子(2.3.1参照)の列から成る。各ボリューム構造記述子は,記述子の内容の解釈及
びnの値(図2.1参照)を規定する規格又は節を規定する。
[ボリューム認識列]{
<CD-ROMボリューム記述子集合>0+1
[拡張領域]{
<拡張領域先頭記述子>1+
{<ボリューム構造記述子>|<起動記述子>}n+
<拡張領域終端記述子>1+
}0+
}
図2.1 ボリューム認識列のスキーマ
2.2.3.1.1
CD-ROMボリューム記述子集合 規格識別子欄が “BEA01” を含まず,JIS X 0606に従って解
釈される,連続的に記録したボリューム構造記述子の集合とする。
2.2.4
記述子の記録 第2章の全記述子は,記述子の最初のバイトをセクタの最初のバイトに一致させて
記録する。記述子の最後のバイトの後から,記述子の最後のバイトを含むセクタの末尾までの全空間は,
もしあれば,将来の標準化のための予備とし,すべてのバイトに#00を記録する。
2.3
ボリューム認識構造
2.3.1
ボリューム構造記述子 ボリューム構造記述子は,表2.1に示すフォーマットで記録する。
表2.1 構造記述子のフォーマット
BP
長さ
名前
内容
0
1
構造種別
Uint8(1.6.1.1参照)
1
5
規格識別子
バイト
6
1
構造版数
Uint8(1.6.1.1参照)
7
2041
構造データ
バイト
2.3.1.1
構造種別 (BP0) この欄の番号は,ボリューム構造記述子の種別を指定する。
13
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
2.3.1.2
規格識別子 (BP1) 表2.2に示すとおり,ボリューム構造記述子の解釈を指定する。
表2.2 ボリューム構造記述子の解釈
識別子
解釈
“BEA01”
2.3.2に従う
“BOOT2”
2.3.4に従う
“CD001”
JIS X 0606に従う
“CDW02”
JIS X 0608に従う
“NSR02”
3.4.1に従う
“TEA01”
2.3.3に従う
2.3.1.3
構造版数 (BP6) この欄の番号は,ボリューム構造記述子の版を指定する。
2.3.1.4
構造データ (BP7) この欄の解釈は,規格識別子欄で識別する規格又は節が規定する。
2.3.2
拡張領域先頭記述子 拡張領域先頭記述子は,表2.3に示すフォーマットで記録する。
表2.3 拡張領域先頭記述子
BP
長さ
名前
内容
0
1
構造種別
Uint8(1.6.1.1参照)=0
1
5
規格識別子
バイト= “BEA01”
6
1
構造版数
Uint8(1.6.1.1参照)=1
7
2041
構造データ
#00バイト
2.3.2.1
構造種別 (BP0) 0を指定する。
2.3.2.2
規格識別子 (BP1) “BEA01” を指定する。
2.3.2.3
構造版数 (BP6) この記述子の版数を示し,値1を指定する。
2.3.2.4
構造データ (BP7) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
2.3.3
拡張領域終端記述子 拡張領域終端記述子は,表2.4に示すフォーマットで記録する。
表2.4 拡張領域終端記述子
BP
長さ
名前
内容
0
1
構造種別
Uint8(1.6.1.1参照)=0
1
5
規格識別子
バイト= “TEA01”
6
1
構造版数
Uint8(1.6.1.1参照)=1
7
2041
構造データ
#00バイト
2.3.3.1
構造種別 (BP0) 0を指定する。
2.3.3.2
規格識別子 (BP1) “TEA01” を指定する。
2.3.3.3
構造版数 (BP6) この記述子の版数を示し,値1を指定する。
2.3.3.4
構造データ (BP7) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
2.3.4
起動記述子 起動記述子は,表2.5に示すフォーマットで記録する。
14
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表2.5 起動記述子
BP
長さ
名前
内容
0
1 構造種別
Uint8(1.6.1.1参照)=0
1
5 規格識別子
バイト= “BOOT2”
6
1 構造版数
Uint8(1.6.1.1参照)=1
7
1 予備
#00バイト
8
32 体系種別
regid(1.6.4参照)
40
32 起動識別子
regid(1.6.4参照)
72
4 起動エクステント位置 Uint32(1.6.1.5参照)
76
4 起動エクステント長
Uint32(1.6.1.5参照)
80
8 ロード番地
Uint64(1.6.1.7参照)
88
8 開始番地
Uint64(1.6.1.7参照)
96
12 記述子生成日時
timestamp(1.6.3参照)
108
2 フラグ
Uint16(1.6.1.3参照)
110
32 予備
#00バイト
142
1096 起動用
バイト
2.3.4.1
構造種別 (BP0) 0を指定する。
2.3.4.2
規格識別子 (BP1) “BOOT2” を指定する。
2.3.4.3
構造版数 (BP6) この記述子の版数を示し,値1を指定する。
2.3.4.4
予備 (BP7) 将来の標準化のための予備とし,#00に設定する。
2.3.4.5
体系種別 (BP8) 起動識別子欄を認識して,その起動識別子欄の内容に応じて動作できるシス
テムの識別情報を,この欄が指定する。この欄がすべて#00バイトであれば,そのシステムの認識は行わ
ない。
2.3.4.6
起動識別子 (BP40) 起動エクステント位置,起動エクステント長,ロード番地,開始番地及び
起動用の欄の内容を認識して,それらの内容に応じて動作できる処理システムの識別情報を,この欄が指
定する。この欄のバイトがすべて#00の場合,その処理システムの識別は行わない。
2.3.4.7
起動エクステント位置 (BP72) 起動情報を含むボリュームのエクステントの番地を指定する。
起動エクステント長欄の内容が0であるとき,起動エクステントの指定を行わず,起動エクステント位置
欄の内容は0でなければならない。
参考 起動エクステントを指定しないとき,起動に必要な情報を起動用欄に指定してもよい。
2.3.4.8
起動エクステント長 (BP76) 起動エクステント位置欄が指定するエクステントの長さを,バイ
ト数で指定する。
2.3.4.9
ロード番地 (BP80) 起動エクステントの欄が指定するエクステントの中の情報を複写するメ
モリの番地を指定する。
2.3.4.10 開始番地 (BP88) 起動エクステントの欄が指定する情報をメモリに複写した後に,制御を転送
するメモリの番地を指定する。
2.3.4.11 記述子生成日時 (BP96) この記述子を記録した日時を指定する。
2.3.4.12 フラグ (BP108) 表2.6に示す起動記述子の特性を指定する。
15
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表2.6 起動記述子の特性
ビット
解釈
0
消去:ボリューム認識列の,この起動記述子が記録されているセクタのセクタ番号より小
さいセクタ番号をもつセクタに記録されている起動記述子で,体系種別欄及び起動
識別子欄の内容がこの起動記述子と同一であるすべての起動記述子について,
ZEROの場合には,この起動記述子がそれらの起動記述子を無効とすることを示し,
ONEの場合には,それらの起動記述子及びこの起動記述子を無視することを示す。
1〜15 将来の標準化のための予備とし,すべてのビットにZEROを設定する。
2.3.4.13 予備 (BP110) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
2.3.4.14 起動用 (BP142) 処理システム用とし,その内容は第2章では規定しない。
2.4
媒体交換の水準 第2章は,媒体交換の次の水準を規定する。
2.4.1
水準1 水準1には,起動記述子の起動識別子欄は,体系種別欄が同じ内容であるほかのすべての
起動記述子の起動識別子と異なっていなければならない。
2.4.2
水準2 水準2には,制約がない。
2.5
システム記述に対する要件 第2章は,ある情報を利用者と処理システムとの間で通信することを
規定する。
2.6
作成システムに対する要件
2.6.1
一般 処理システムは,第2章のボリュームの規定に従って,拡張領域先頭記述子及び拡張領域終
端記述子を記録できなければならない。
2.6.2
利用者による選択可能アクセス
2.6.2.1
記述子 処理システムが,規格識別子欄の値を “CD001”, “CDW02” 又は “NSR02” とするボリ
ューム構造記述子を記録できるなら,処理システムはその記述子を,規格識別子欄の値に対応する規格又
は2.3.1.2に規定する節に従って記録しなくてはならない。
2.7
受領システムに対する要件
2.7.1
一般処理システムは,第2章のボリュームの規定に従って,拡張領域先頭記述子及び拡張領域終端
記述子を解釈できなければならない。
2.7.2
利用者による選択可能アクセス
2.7.2.1
記述子 処理システムが,規格識別子欄の値を “CD001”, “CDW02” 又は “NSR02” とするボリ
ューム構造記述子を解釈できるなら,処理システムはその記述子を,規格識別子欄の値に対応する規格又
は2.3.1.2に規定する節に従って解釈しなくてはならない。
第3章 ボリューム構造
3.1
ほかの章との関係 ほかの規定又はほかの章に対する第3章の関係を,3.1が規定する。
3.1.1
入力 第3章は,ほかの規定又はほかの章による次の規定を必要とする。
a) 記録のための規格(1.4.19参照)
b) ボリューム中の論理セクタ(3.3.1.2参照)の大きさ
c) 第2章に従って記録したボリュームでは,第2章で規定するボリューム認識列に3.4.1で記述する記述
子(複数回記録することができる)を含まなければならない。
d) 第2章に従って記録したボリュームでは,ボリューム認識空間(2.2.2参照)がボリューム全体となる。
e) 第2章に従って記録したボリュームでは,ボリュームの物理的先頭セクタ(2.1.1参照)をボリューム
中の先頭セクタとする。
f)
区画記述子(3.5.5.6参照)の区画内容用欄に記録する情報
16
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
g) 論理ボリューム記述子(3.5.6.7参照)の論理ボリューム内容用欄に記録する情報
3.1.2
出力 第3章は,ほかの規定又はほかの章が使ってもよい次の内容を規定する。
a) 1個のボリュームから成るボリューム集合(3.3.6参照)
b) ボリューム中のボリューム空間(3.3.2参照)
c) ボリューム中の固定の大きさの論理セクタ(3.3.1.2参照)
d) 区画(3.3.7参照)
e) 区画で構成する論理ボリューム(3.3.8参照)
f)
論理ボリューム中の区画の数値識別情報(3.3.8参照)
g) 論理ボリュームを構成する固定の大きさの論理ブロック
h) 論理ボリュームを構成する論理ブロックの大きさ
i)
ボリュームの属性
j)
論理ボリュームの属性
k) 区画の属性
l)
この章(3.4.1参照)に従って記録したボリュームであることを示す識別情報
3.2
基本データ種別 第1章の基本データ種別(1.6参照)に追加して,次の基本種別を第3章に適用す
る。
3.2.1
エクステント記述子 エクステント記述子は,以降extent̲adで示し,表3.1に示すフォーマット
で記録する。
表3.1 エクステント記述子 (extent̲ad) のフォーマット
RBP
長さ
名前
内容
0
4
エクステント長
Uint32 (1.6.1.5)
4
4
エクステント位置 Uint32 (1.6.1.5)
3.2.1.1
エクステント長 (RBP0) エクステント位置欄で識別するエクステントの長さをバイト数で示
す。エクステントの長さは,230未満とする。
特記しない限り,エクステントの長さは,論理セクタの大きさの整数倍とする。
3.2.1.2
エクステント位置 (RBP4) エクステントの位置を論理セクタ番号で指定する。エクステントの
長さが0の場合は,エクステントを指定しないことを示し,この欄には0を設定する。
3.2.2
記述子タグ 第3章で規定する記述子には,16バイト長の構造であるタグ (tag) を記述子の先頭
に記録する。タグは,表3.2に示すフォーマットで記録する。
参考 共通のタグ構造を使用するのは,二つの主な理由がある。一つは,ほとんどの記述子は,共通
なCRC及びフォーマット版数を扱う必要があるためである。もう一つの理由は,媒体の破壊又
は何らかの方法で不正となった後の回復を実現するためである。ここで記述するタグは,自己
識別する構造であり,小さな環境でも確認できる。
17
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表3.2 タグ (tag) のフォーマット
RBP
長さ
名前
内容
0
2
タグ識別子
Uint16 (1.6.1.3)
2
2
記述子版数
Uint16 (1.6.1.3) =2
4
1
タグチェックサム
Uint8 (1.6.1.1)
5
1
予備
#00バイト
6
2
タグ通し番号
Uint16 (1.6.1.3)
8
2
記述子CRC
Uint16 (1.6.1.3)
10
2
記述子CRC長
Uint16 (1.6.1.3)
12
4
タグ位置
Uint32 (1.6.1.5)
3.2.2.1
タグ識別子 (RBP0) 記述子種別を指定する。種別0は,第3章で規定する記述子のフォーマッ
トでないことを示す。種別1〜7及び9は,表3.3で示すとおりに規定する。種別8は,第3章及び第4章
で同一に規定する。種別256〜265は,第4章で規定する。その他の種別は,将来の標準化のための予備と
する。第3章で規定する記述子種別を,表3.3に示す。
表3.3 記述子の解釈
種別
解釈
1
基本ボリューム記述子
(3.5.1)
2
開始ボリューム記述子ポインタ (3.5.2)
3
ボリューム記述子ポインタ
(3.5.3)
4
処理システム用ボリューム記述子 (3.5.4)
5
区画記述子
(3.5.5)
6
論理ボリューム記述子
(3.5.6)
7
未割付け空間記述子
(3.5.8)
8
終端記述子
(3.5.9及び4.9.2)
9
論理ボリューム保全記述子
(3.5.10)
3.2.2.2
記述子版数 (RBP2) 記述子の版数を示し,値2を指定する。
3.2.2.3
タグチェックサム (RBP4) タグの0〜3バイトと5〜15バイトとの和を256で割った余りを指
定する。
3.2.2.4
予備 (RBP5) 将来の標準化のための予備とし,0に設定する。
3.2.2.5
タグ通し番号 (RBP6) 記述子集合の識別を指定する。この欄の内容が0の場合は,記述子集合
の識別を指定しないことを示す。
ボリュームの初期化時に,タグ通し番号の値(一意ではないこともある。)を再設定する。この値は,ボ
リュームの再初期化時には,以前に記録した値と異なる値を設定する。最新基本ボリューム記述子で使用
した値に1だけ加算した値を使用することを推奨する。
3.2.2.6 記述子CRC (RBP8) 記述子タグ直後の先頭バイトから始まる記述子バイトのCRCを指定する。
バイト数は,記述子CRC長欄で指定する。CRCは,16ビットでCRC-ITU-T多項式(ITU-T勧告V.41
参照)で生成する。
x16+x12+x5+1
備考 例えば,#70 #6A #77の3バイトのCRCは,#3299である。処理システムは,記述子CRC長欄
の値を0にすることで,CRCの計算を避けられる。このとき,記述子CRCの値も0とする。
CRCは,各記述子で利用可能であり,計算されなければならない。この欄には,記述子長から記述子タ
グの長さを減算した値を設定する。記述子を読み出すときは,CRCを検証しなければならない。
3.2.2.7
記述子CRC長 (RBP10) 記述子CRCを計算するのに使用したバイト数を指定する。
18
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.2.2.8
タグ位置 (RBP12) 記述子の先頭バイトを含む論理セクタの番号を指定する。
参考 タグ位置は冗長に見えるが,その主な目的は,論理セクタ又は論理ブロックの先頭16バイトが
記述子タグと同一フォーマットの場合,高い確度でそれを記述子タグとすることである。
3.3
ボリューム構造
3.3.1
ボリューム中の情報の構成
3.3.1.1
セクタ番号 ボリューム中の各セクタは,一意のセクタ番号で識別する。
3.3.1.2
論理セクタ ボリュームは,等しい長さの論理セクタで構成する。
3.3.1.2.1
論理セクタ番号 ボリューム中の各論理セクタは,一意の論理セクタ番号で識別する。
3.3.1.2.2
論理セクタの記録 論理セクタの未記録セクタは,すべて#00バイトと解釈する。
3.3.2
ボリューム空間 ボリューム中の情報は,ボリュームの論理セクタの集合に記録する。この論理セ
クタの集合を,ボリューム中のボリューム空間と呼ぶ。
典型的なボリューム空間の構成を表3.4に示す。
表3.4 典型的なボリューム空間の構成
論理セクタ番号
内容
0〜15
予備 (#00)
16
拡張領域先頭記述子
17
NSR記述子 (“NSR02”)
18
拡張領域終端子
19〜31
予備 (#00)
32
基本ボリューム記述子
33
処理システム用ボリューム記述子
34
区画記述子
35
論理ボリューム記述子
36
未割付け空間記述子
37
終端記述子
38〜255
予備 (#00)
256
開始ボリューム記述子ポインタ
257〜511
論理ボリューム保全列
512〜x−1
ファイル集合記述子
終端記述子
ファイル識別記述子
ファイルエントリ/ICB
x〜N−1
ファイルデータ実体
N
開始ボリューム記述子ポインタ
N:ボリューム内論理セクタ番号の最大値
3.3.3
ボリューム記述子 ボリュームの特性は,3.3.4.2で示すボリューム記述子列に記録するボリューム
記述子で規定する。
3.3.4
ボリューム記述子列
3.3.4.1
ボリューム記述子列の内容 ボリューム記述子列は,1個以上の基本ボリューム記述子,0個以
上の処理システム用ボリューム記述子,0個以上の区画記述子,0個以上の論理ボリューム記述子,及び0
個以上の未割付け空間記述子から成る。各々のボリューム記述子には,ボリューム記述子順序番号を割り
当てる。
3.3.4.2
ボリューム記述子列の記録 ボリューム記述子列は,ボリューム空間の論理セクタのエクステン
ト列として記録する。ボリューム記述子列のエクステントは,図3.1のスキーマに従って記録する。
19
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
[ボリューム記述子列のエクステント]{
<ボリューム記述子>0+
[ターミネータ]{
<ボリューム記述子ポインタ>
|<終端記述子>
|<未記録論理セクタ>
}<後続論理セクタ>0+
図3.1 ボリューム記述子列のスキーマ
3.3.4.2.1
開始点 ボリューム空間の最大論理セクタ番号をnとし,256,n−256,nの論理セクタ番号の
うち2個以上を開始点とする。
3.3.4.2.2
予備ボリューム記述子列集合 予備ボリューム記述子列をボリューム中に記録してもよい。予
備ボリューム記述子列を識別する場合,予備ボリューム記述子列は,主ボリューム記述子列と同等のボリ
ューム記述子列(3.3.4.2.3参照)を規定しなければならない。
3.3.4.2.3
同等ボリューム記述子列 二つのボリューム記述子列の同等性は,ボリューム記述子列の各々
の正規形で決定する。
3.3.4.3
最新記述子 次に示す記述子のクラスにおいて,最大のボリューム記述子順序番号をもつ記述子
を最新記述子として使用する。
a) ボリューム識別子,ボリューム集合識別子及び記述子用文字集合の欄の内容が同じ基本ボリューム記
述子
b) 同じ区画番号をもつ区画記述子
c) 論理ボリューム識別子及び記述子用文字集合の欄の内容が同じ論理ボリューム記述子
d) 未割付け空間記述子
この規格では.最新基本ボリューム記述子を1個,最新区画記述子を1個又は2個,最新論理ボリューム
記述子を1個,最新未割付け空間記述子を1個記録し,最新処理システム用ボリューム記述子を1個以上
記録する。
3.3.4.4
記述子の記録 フォーマットをバイト位置 (BP) で示す第3章の記述子は,論理セクタの先頭バ
イトを記述子の先頭バイトとして記録する。
フォーマットを相対バイト位置 (RBP) で示す第3章の記述子は,記述子の説明で指定する以外に論理
セクタ中の位置に関する制限はない。
記述子を論理セクタに記録するとき,記述子の終端から論理セクタの終端までの空間は,将来の標準化
のための予備とし,すべてのバイトを#00に設定する。
3.3.5
ボリューム空間の割付け 論理セクタをボリューム空間の割付け単位とする。
3.3.6
ボリューム集合 ボリューム集合は,ボリューム集合の識別情報をもつ1個以上のボリュームで構
成する。
3.3.7
区画 区画は,ボリューム中のエクステントとして記述し,0〜65535の区画番号で識別する。
3.3.8
論理ボリューム 論理ボリューム記述子は,論理ボリューム識別情報,論理ボリュームの論理ブロ
ック長,論理ボリュームを構成する区画リストの順序を規定する。
3.3.8.1
論理ブロック 論理ボリューム中の区画の論理セクタは,等しい大きさの論理ブロックを構成す
る。
20
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.3.8.2
論理ボリュームの保全 論理ボリュームの保全は,論理ボリューム中に記録した情報の状態を記
述する。この状態は,論理ボリューム保全記述子(3.5.10参照)によって規定する。
3.4
ボリューム認識構造
3.4.1
NSR記述子 NSR記述子は,表3.5に示すフォーマットで記録する。
表3.5 NSR記述子のフォーマット
BP
長さ
名前
内容
0
1
構造種別
Uint8(1.6.1.1参照)=0
1
5
規格識別子
バイト= “NSR02”
6
1
構造版数
Uint8(1.6.1.1参照)=1
7
1
予備
#00バイト
8
2040
構造データ
#00バイト
3.4.1.1
構造種別 (BP0) 0を指定する。
3.4.1.2
規格識別子 (BP1) “NSR02” を指定する。
3.4.1.3
構造版数 (BP6) この記述子の版数を示し,値1を指定する。
3.4.1.4
予備 (BP7) 将来の標準化のための予備とし,#00を設定する。
3.4.1.5
構造データ (BP8) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
3.5
ボリュームデータ構造
3.5.1
基本ボリューム記述子 基本ボリューム記述子は,ボリューム及びボリュームの属性を識別し,表
3.6に示すフォーマットで記録する。
表3.6 基本ボリューム記述子のフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(3.2.2参照)(タグ=1)
16
4
ボリューム記述子順序番号
Uint32(1.6.1.5参照)
20
4
基本ボリューム記述子番号
Uint32(1.6.1.5参照)
24
32
ボリューム識別子
dstring(1.6.2.4参照)
56
2
ボリューム順序番号
Uint16(1.6.1.3参照)
58
2
最大ボリューム順序番号
Uint16(1.6.1.3参照)
60
2
交換水準
Uint16(1.6.1.3参照)=2又は3
62
2
交換最大水準
Uint16(1.6.1.3参照)=2又は3
64
4
文字集合リスト
Uint32(1.6.1.5参照)=#00000001 (CS0)
68
4
文字最大集合リスト
Uint32(1.6.1.5参照)=#00000001 (CS0)
72
128
ボリューム集合識別子
dstring(1.6.2.4参照)
200
64
記述子用文字集合
charspec(1.6.2.1参照)
264
64
説明用文字集合
charspec(1.6.2.1参照)
328
8
ボリューム抄録
extent̲ad(3.2.1参照)
336
8
ボリューム著作権通告
extent̲ad(3.2.1参照)
344
32
応用プログラム識別子
regid(1.6.4参照)
376
12
記録日時
timestamp(1.6.3参照)
388
32
処理システム識別子
regid(1.6.4参照)
420
64
処理システム用
バイト
484
4
先行ボリューム記述子列位置 Uint32(1.6.1.5参照)
488
2
フラグ
Uint16(1.6.1.3参照)
490
22
予備
#00バイト
3.5.1.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を1とする。
3.5.1.2
ボリューム記述子順序番号 (BP16) この記述子に対するボリューム記述子の順序番号を指定
する。
21
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.5.1.3
基本ボリューム記述子番号 (BP20) この基本ボリューム記述子に割り当てた基本ボリューム
記述子番号を指定する。
3.5.1.4
ボリューム識別子 (BP24) ボリュームの識別情報を指定する。
3.5.1.5
ボリューム順序番号 (BP56) このボリュームが属しているボリューム集合中のこのボリュー
ムの順序を示す番号を指定する。
3.5.1.6
最大ボリューム順序番号 (BP58) この記述子を記録するときに割り当てたボリューム集合の
最大ボリューム順序番号を指定する。この欄の内容が0の場合,最大ボリューム順序番号を識別しない。
3.5.1.7
交換水準 (BP60) この記述子で記述するボリュームの現状の媒体交換水準(3.6参照)を指定
する。
このボリュームが複数ボリュームから成るボリューム集合に属する場合,この水準は値3を設定し,そ
れ以外の場合は,値2を設定する。
3.5.1.8
交換最大水準 (BP62) この記述子の交換水準欄で指定可能な交換水準の最大値を指定する。
利用者が特別に異なる値を与えない限り,この欄は水準3(制限なし)を設定する。
備考 この欄は,ボリューム作成者の意図の指定に使用する。この欄が値2の場合,作成者の意図は
このボリュームが複数ボリュームから成るボリューム集合(交換水準3)に属さないことであ
る。受領者は,この欄を無視して値3を設定してもよいが,その場合には,処理システムはボ
リューム作成者の意図を示す警告を受領者に与えなければならない。
3.5.1.9
文字集合リスト (BP64) この記述子によって記述するボリューム中に記録する,第3章で規定
した記述子の,内容をcharspec(1.6.2.1参照)とする欄が指定する文字集合を識別する。
CS0だけを利用可能とする設定を行う。
3.5.1.10 文字最大集合リスト (BP68) この記述子の文字集合リスト欄には,この欄(1.6.2.3参照)で規
定していない文字集合を指定してはならない。
CS0だけを利用可能とする設定を行う。
3.5.1.11 ボリューム集合識別子 (BP72) このボリュームが属するボリューム集合の識別情報を指定す
る。
この欄の最初の16文字は,一意の値に設定する。この欄の残りは,使用可能な任意の値を設定してもよ
い。
特に,この規定に従ってボリューム構造を生成するソフトウェアは,この欄に,固定値又は無意味な値
を設定してはならない。同一であることを意図された複製ディスクは,この欄に同じ値を入れてもよい。
備考 ここで意図する目的は,一意の識別子をもつボリューム集合の保証にある。この欄の最初の16
文字において,最初の8文字は,32ビットの日時の値のCS0による16進表示とし,残りの8
文字は,処理システム用に任されている。
3.5.1.12 記述子用文字集合 (BP200) ボリューム識別子欄及びボリューム集合識別子欄で使用可能なd
文字(1.6.2参照)を指定する。
CS0を利用可能とする設定を行う。
3.5.1.13 説明用文字集合 (BP264) ボリューム抄録及びボリューム著作権通告エクステントの内容を説
明する方法を指定する。
CS0を利用可能とする設定を行う。
3.5.1.14 ボリューム抄録 (BP328) このボリュームの抄録情報を含む論理セクタのエクステントを指定
する。エクステント長が0の場合,抄録情報を指定しないことを示す。
22
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.5.1.15 ボリューム著作権通告 (BP336) このボリュームの著作権通告情報を含む論理セクタのエクス
テントを指定する。エクステント長が0の場合,著作権通告情報を指定しないことを示す。
3.5.1.16 応用プログラム識別子 (BP344) 応用プログラムの識別情報を指定する。この欄のすべてのバ
イトが#00の場合,応用プログラムを識別しないことを示す。
3.5.1.17 記録日時 (BP376) この記述子を記録した日時を指定する。
3.5.1.18 処理システム識別子 (BP388) 処理システム用欄の内容を認識し,その内容に従って実行可能
な処理システムに対する識別情報を指定する。この欄のすべてのバイトが#00の場合,処理システムを識
別しないことを示す。このregidの適用範囲は,基本ボリューム記述子を記録したボリューム記述子列中
の処理システム用ボリューム記述子を除いたすべての記述子の内容である。
この欄の適切な扱いに関する詳細情報は,実体識別子の節 (1.6.4) を参照のこと。
3.5.1.19 処理システム用 (BP420) 処理システム用に確保する。この規格では,この欄の内容を規定し
ない。
3.5.1.20 先行ボリューム記述子列位置 (BP484) ボリューム記述子列の一つ前のボリューム記述子列を
記録する論理セクタのエクステントの番地を指定する。この欄の内容が0の場合,先行ボリューム記述子
列を識別しないことを示す。
3.5.1.21 フラグ (BP488) 表3.7に示す基本ボリューム記述子の特性を指定する。
表3.7 基本ボリューム記述子の特性
ビット
解釈
0
ボリューム集合の識別:
ZEROの場合,この記述子のボリューム集合識別子が,ボリューム集合
中のすべてのボリュームと共通である必要はないことを示す。
ONEの場合,この記述子のボリューム集合識別子が,ボリューム集合中
のすべてのボリュームと共通であることを示す。
1〜15 将来の標準化のための予備とし,すべてのビットをZEROに設定する。
3.5.1.22 予備 (BP490) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
3.5.2
開始ボリューム記述子ポインタ 開始ボリューム記述子ポインタは,ボリューム中に記録する主ボ
リューム記述子列及び予備ボリューム記述子列のエクステントを規定し,表3.8に示すフォーマットで記
録する。
表3.8 開始ボリューム記述子のフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(3.2.2参照)(タグ=2)
16
8
主ボリューム記述子列エクステント
extent̲ad(3.2.1参照)
24
8
予備ボリューム記述子列エクステント extent̲ad(3.2.1参照)
32
480
予備
#00バイト
備考 開始ボリューム記述子ポインタ構造は,媒体中の次に示す三つの位置のうち,2か所だけに記
録する。
a) 論理セクタ 256
b) 論理セクタ N−256
c) 論理セクタ N
3.5.2.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を2とする。
3.5.2.2
主ボリューム記述子列エクステント (BP16) 主ボリューム記述子列のエクステントを指定す
る。
23
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
主ボリューム記述子列エクステントは,最小長16論理セクタとする。
参考 このエクステント情報は,記録よりも空間の割付けを指定する。つまり,エクステントが記録
可能であればよい。このエクステントは,すべてを記録しておく必要はない。
3.5.2.3
予備ボリューム記述子列エクステント (BP24) 予備ボリューム記述子列のエクステントを指
定する。エクステント長が0の場合,予備ボリューム記述子列を指定しないことを示す。
予備ボリューム記述子列エクステントは,最小長16論理セクタとする。
参考 このエクステント情報は,記録よりも空間の割付けを指定する。つまり,エクステントが記録
可能であればよい。このエクステントは,すべてを記録しておく必要はない。
3.5.2.4
予備 (BP32) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
3.5.3
ボリューム記述子ポインタ ボリューム記述子ポインタは,ボリューム中に記録するボリューム記
述子列のエクステントを規定し,表3.9に示すフォーマットで記録する。
表3.9 ボリューム記述子ポインタのフォーマット
BP
長さ
名前
内容
0
16 記述子タグ
tag(3.2.2参照)(タグ=3)
16
4 ボリューム記述子順序番号
Uint32(1.6.1.5参照)
20
8 ボリューム記述子列続きエクステント extent̲ad(3.2.1参照)
28
484 予備
#00バイト
3.5.3.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を3とする。
3.5.3.2
ボリューム記述子順序番号 (BP16) この記述子に対するボリューム記述子の順序番号を指定
する。
3.5.3.3
ボリューム記述子列続きエクステント (BP20) ボリューム記述子列における続きのエクステ
ントを指定する。エクステント長が0の場合,次のエクステントを指定しないことを示す。
参考 このエクステント情報は,記録よりも空間の割付けを指定する。つまり,エクステントが記録
可能であればよい。このエクステントは,すべてを記録しておく必要はない。
3.5.3.4
予備 (BP28) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
3.5.4
処理システム用ボリューム記述子 処理システム用ボリューム記述子は,この記述子の処理システ
ム用欄の内容を認識し,その内容に従って実行可能な処理システムを識別し,表3.10に示すフォーマット
で記録する。
表3.10 処理システム用ボリューム記述子
BP
長さ
名前
内容
0
16
記述子タグ
tag(3.2.2参照)(タグ=4)
16
4
ボリューム記述子順序番号 Uint32(1.6.1.5参照)
20
32
処理システム識別子
regid(1.6.4参照)
フラグ
Uint8(1.6.1.1参照)=0
識別子
bytes (23) = “*UDF LV Info”
識別子添字
Uint8=#0102, bytes (6) =#00
52
460
処理システム用
バイト
この記述子はボリューム集合のすべてのボリュームに記録する。ボリュームは,処理システム固有の追
加の処理システム用ボリューム記述子を含んでもよい。この記述子の意図する目的は,特定の論理ボリュ
ームが属するボリューム集合中のボリュームの識別を支援することである。
備考 処理システムは,媒体中にその処理システム自体のフォーマットにおける追加の処理システム
用ボリューム記述子を記録してもよい。ここで規定した処理システム用ボリューム記述子は,
24
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
追加の処理システム用ボリューム記述子を除外しない。
3.5.4.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を4とする。
3.5.4.2
ボリューム記述子順序番号 (BP16) この記述子に対するボリューム記述子の順序番号を指定
する。
3.5.4.3
処理システム識別子 (BP20) 処理システム用欄の内容を認識し,その内容に従って実行可能な
処理システムの識別情報を指定する。
この欄には, “*UDF LV Info” を設定する。
3.5.4.4
処理システム用 (BP52) 処理システム用に確保する。
この欄は,表3.11に示すフォーマットで記録する。
表3.11 処理システム用
RBP
長さ
名前
内容
0
64 論理ボリューム情報用文字集合 charspec(1.6.2.1参照)
64
128 論理ボリューム識別子
バイト
192
108 論理ボリューム情報
バイト
300
32 処理システム識別子
regid(1.6.4参照)
332
128 処理システム用
バイト
3.5.4.4.1
論理ボリューム情報用文字集合 (RBP0) 論理ボリューム識別子欄及び論理ボリューム情報用
文字集合欄で使用可能な文字集合の指定と解釈する。
CS0を利用可能とする設定を行う。
3.5.4.4.2
論理ボリューム識別子 (RBP64) この記述子で参照する論理ボリュームの識別子を指定する。
3.5.4.4.3
論理ボリューム情報 (RBP192) 論理ボリューム情報欄は,それぞれが36バイトである
LVInfo1,LVInfo2,LVInfo3から成り,媒体の識別を支援する追加情報を含む。
例えば,論理ボリューム情報欄は,所有者名,組織名及び連絡先などの情報を含んでよい。
3.5.4.4.4
処理システム識別子 (RBP300) 実体識別子の節 (1.6.4) を参照のこと。
3.5.4.4.5
処理システム用 (RBP332) この欄は,追加の処理システム固有の情報を記録するために,処
理システムで使用してもよい。
3.5.5
区画記述子 区画記述子は,区画の大きさ及び位置を規定し,表3.12で示すフォーマットで記録
する。
25
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表3.12 区画記述子のフォーマット
BP
長さ
名前
内容
0
16 記述子タグ
tag(3.2.2参照)(タグ=5)
16
4 ボリューム記述子順序番号 Uint32(1.6.1.5参照)
20
2 区画フラグ
Uint16(1.6.1.3参照)=#0001
22
2 区画番号
Uint16(1.6.1.3参照)=0
24
32 区画内容
regid(1.6.4参照)
フラグ
Uint8(1.6.1.1参照)=#40
識別子
bytes (23) = “+NSR02”
識別子添字
bytes (8) =#00
56
128 区画内容用
バイト
184
4 アクセス種別
Uint32(1.6.1.5参照)
188
4 区画開始位置
Uint32(1.6.1.5参照)
192
4 区画長
Uint32(1.6.1.5参照)
196
32 処理システム識別子
regid(1.6.4参照)
228
128 処理システム用
バイト
356
156 予備
#00バイト
3.5.5.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を5とする。
3.5.5.2
ボリューム記述子順序番号 (BP16) この記述子に対するボリューム記述子の順序番号を指定
する。
3.5.5.3
区画フラグ (BP20) 表3.13で示す区画の特性を指定する。
表3.13 区画の特性
ビット
解釈
0
割付け:ZEROの場合,この区画にボリューム空間が割り付けられていないことを意味する。
ONEの場合,この区画にボリューム空間が割り付けされていることを意味する。
1〜15 将来の標準化のための予備とし,すべてのビットをZEROに設定する。
3.5.5.4
区画番号 (BP22) 区画に対する数値識別情報を指定する。
3.5.5.5
区画内容 (BP24) 区画の内容を解釈する方法の識別情報を規定する。第3章で規定する識別情
報を表3.14に示す。
表3.14 区画内容の解釈
内容
意味
“+NSR02” この規格の第4章に従って解釈する。
3.5.5.6
区画内容用 (BP56) この区画記述子で識別する区画中に記録した情報の解釈に必要な情報を
指定する。この欄の内容は,区画中に記録した情報を解釈するための関連する規格で規定する。
3.5.5.7
アクセス種別 (BP184) この区画記述子で識別する区画中の論理セクタで許可するアクセス方
法を指定する。アクセス種別を表3.15に示す。
表3.15 アクセス種別
種別
意味
0
この欄でアクセス種別を指定していないことを意味する。
1
再生専用:論理セクタの読込みに制限はないが,論理セクタの記録はできない。
2
追記:論理セクタの読込みに制限はないが,論理セクタの記録は1回だけに制限される。
3
書換:論理セクタの読込みに制限はないが,論理セクタの記録には前処理が必要である。
4
書換(上書き可能):論理セクタの読込み及び書込みに制限はない。
5以上 将来の標準化のための予備とする。
3.5.5.8
区画開始位置 (BP188) 区画が始まる論理セクタ番号を指定する。
26
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.5.5.9
区画長 (BP192) 区画に含まれる論理セクタの個数を指定する。
3.5.5.10 処理システム識別子 (BP196) 処理システム用欄の内容を認識し,その内容に従って実行可能
な処理システムの識別情報を指定する。この欄の内容がすべて#00バイトの場合,処理システムを識別し
ないことを示す。
参考 このregidの適用範囲は,区画の内容を含む。
3.5.5.11 処理システム用 (BP228) 処理システム用に確保し,この規格では,この欄の内容を規定しな
い。
3.5.5.12 予備 (BP356) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
3.5.6
論理ボリューム記述子 論理ボリューム記述子は,表3.16で示すフォーマットで記録する。
表3.16 論理ボリューム記述子のフォーマット
BP
長さ
名前
内容
0
16 記述子タグ
tag(3.2.2参照)(タグ=6)
16
4 ボリューム記述子順序番号 Uint32(1.6.1.5参照)
20
64 記述子用文字集合
charspec(1.6.2.1参照)
84
128 論理ボリューム識別子
dstring(1.6.2.4参照)
212
4 論理ブロック長
Uint32(1.6.1.5参照)
216
32 範囲識別子
regid(1.6.4参照)
フラグ
Uint8(1.6.1.1参照)=0
識別子
bytes (23) = “*OSTA UDF Compliant”
識別子添字
Uint8(1.6.1.1参照)=#0102, bytes (6) =#00
248
16 論理ボリューム内容用
バイト
264
4 マップ表長 (=MT̲L)
Uint32(1.6.1.5参照)
268
4 区画マップの個数 (=N̲PM) Uint32(1.6.1.5参照)
272
32 処理システム識別子
regid(1.6.4参照)
304
128 処理システム用
#00バイト
432
8 保全列エクステント
extent̲ad(3.2.1参照)
440
MT̲L 区画マップ
バイト
区画マップ種別
Uint8(1.6.1.1参照)=1
区画マップ長
Uint8(1.6.1.1参照)=6
ボリューム順序番号
Uint16(1.6.1.3参照)
区画番号
Uint16(1.6.1.3参照)
3.5.6.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を6とする。
3.5.6.2
ボリューム記述子順序番号 (BP16) この記述子に対するボリューム記述子の順序番号を指定
する。
3.5.6.3
記述子用文字集合 (BP20) 論理ボリューム識別子欄で使用可能なd文字(1.6.2参照)を指定す
る。
CS0を利用可能とする設定を行う。
3.5.6.4
論理ボリューム識別子 (BP84) 論理ボリュームの識別情報を指定する。
3.5.6.5
論理ブロック長 (BP212) 論理ブロックの大きさをバイト数で指定する。
この欄は,論理ボリューム記述子で識別する論理ボリュームを構成する媒体中のすべての区画のうち,
最大の論理セクタ長を設定する。この規格では,ボリューム集合中のすべてのボリュームが同一論理セク
タ長であることを要求するため,論理ブロック長は,ボリュームの論理セクタ長に等しい。
27
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.5.6.6
範囲識別子 (BP216) 媒体の作成者と受領者との間で同意した記述子の欄の使用規則及び制限
を規定する範囲の識別情報を指定する。この欄の内容がすべて#00バイトの場合,このような範囲を識別
しないことを示す。
この欄は,この規格で定義する範囲に適合する論理ボリュームの内容であることを示す。したがって,
範囲識別子には, “*OSTA UDF Compliant” を指定する。
実体識別子の節 (1.6.4) で記述したとおり,実体識別子の識別子添字欄には,論理ボリュームの内容が
互換性をもつUDFの版数を含む。この欄の適切な扱いに関する詳細情報は,1.6.4を参照のこと。
備考 実体識別子の識別子添字欄は,ソフト書込み保護フラグ及びハード書込み保護フラグを含む。
3.5.6.7
論理ボリューム内容用 (BP248) この論理ボリューム記述子で識別する論理ボリューム中に記
録した情報の解釈に必要な情報を指定する。
3.5.6.8
マップ表長 (=MT̲L) (BP264) 区画マップの長さをバイト数で指定する。
3.5.6.9
区画マップの個数 (=N̲PM) (BP268) 区画マップ欄に記録した区画マップの個数を指定する。
この規格では,区画マップの個数は1とする。ただし,一つの区画が再生専用形のアクセス種別をもち,
ほかの区画が書換形/上書き可能形のアクセス種別をもつ場合だけ,二つの区画を含んでもよい。
3.5.6.10 処理システム識別子 (BP272) 処理システム用欄の内容を認識し,その内容に従って実行可能
な処理システムの識別情報を指定する。この欄の内容がすべて#00バイトの場合,このような処理システ
ムを識別しないことを示す。
この欄の適切な扱いに関する詳細情報は,実体識別子の節 (1.6.4) を参照のこと。
3.5.6.11 処理システム用 (BP304) 処理システム用に確保し,この規格では,この欄の内容を規定しな
い。
3.5.6.12 保全列エクステント (BP432) 論理ボリューム保全列の先頭エクステントを指定する。
この欄の値は,論理ボリューム保全記述子のために必要である。書換形/上書き可能形媒体に関しては,
最小値8Kバイトを設定する。
備考 追記形媒体に対しては,この欄は,十分な長さのエクステントを設定する。論理ボリューム保
全記述子は,最新論理ボリューム記述子と同一ボリュームに存在しなければならないため,論
理ボリューム保全記述子が存在する追記形媒体が一杯になった場合は,ボリューム集合に新し
いボリュームを追加しなければならない。
3.5.6.13 区画マップ (BP440) 欄の先頭バイトから開始して連続的に記録したN̲PM個の区画マップ
(3.5.7参照)を含む。
交換の目的として,区画マップは,区画マップ種別1(3.5.7.1.1参照)に限定する。
区画マップの長さは,MT̲Lバイトを超えないようにし,未使用バイトには#00を設定する。
3.3.4.4に規定したとおり,論理ボリューム記述子を含む最後の論理セクタの残り部分は,#00バイトを
設定する。
3.5.7
区画マップ
3.5.7.1
区画マップの共通フォーマット 区画マップは,表3.17に示すフォーマットで記録する。
表3.17 区画マップの共通フォーマット
RBP
長さ
名前
内容
0
1
区画マップ種別
Uint8 (1.6.1.1)
1
1
区画マップ長 (=PM̲L) Uint8 (1.6.1.1)
2
PM̲L−2 区画マップ情報
バイト
28
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.5.7.1.1
区画マップ種別 (RBP0) この欄の数値は,区画マップの種別を指定する。種別を表3.18に示
す。
表3.18 区画マップ種別
種別
意味
1
第1種区画マップ(3.5.7.2参照)であることを示す。
3.5.7.1.2
区画マップ長 (=PM̲L) (RBP1) 区画マップ種別欄及び区画マップ長欄を含んだこの区画マ
ップの長さをバイト数で指定する。
3.5.7.1.3
区画マップ情報 (RBP2) この欄の解釈は,区画マップ種別欄で識別する規格若しくは節又は
区画マップ種別欄の数値が0の場合の媒体の作成者と受領者との間の同意で規定する。
3.5.7.2
第1種区画マップ このマップ種別は,論理ボリュームを記録するボリューム集合中のボリュー
ム中の区画を識別し,表3.19に示すフォーマットで記録する。
表3.19 第1種区画マップのフォーマット
RBP
長さ
名前
内容
0
1
区画マップ種別
Uint8(1.6.1.1参照)=1
1
1
区画マップ長
Uint8(1.6.1.1参照)=6
2
2
ボリューム順序番号 Uint16(1.6.1.3参照)
4
2
区画番号
Uint16(1.6.1.3参照)
3.5.7.2.1
区画マップ種別 (RBP0) 1を指定する。
3.5.7.2.2
区画マップ長 (RBP1) 6を指定する。
3.5.7.2.3
ボリューム順序番号 (RBP2) 論理ボリュームを記録するボリューム集合に属し,ボリューム
順序番号がこの欄の内容と等しいボリュームを指定する。
3.5.7.2.4
区画番号 (RBP4) ボリューム順序番号欄で指定したボリューム中にあり,区画番号欄がこの
欄の内容と等しい区画記述子で識別する区画を指定する。
3.5.8
未割付け空間記述子 未割付け空間記述子は,未割付けのエクステントを規定し,表3.20に示す
フォーマットで記録する。
表3.20 未割付け空間記述子のフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(3.2.2参照)(タグ=7)
16
4
ボリューム記述子順序番号
Uint32(1.6.1.5参照)
20
4
割付け記述子の個数 (=N̲AD) Uint32(1.6.1.5参照)
24
N̲AD×8 割付け記述子
extent̲ad(3.2.1参照)
使用可能なボリューム空間がない場合でも,この記述子を記録する。
3.5.8.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を7とする。
3.5.8.2
ボリューム記述子順序番号 (BP16) この記述子に対するボリューム記述子の順序番号を指定
する。
3.5.8.3 割付け記述子の個数 (=N̲AD) (BP20) この記述子で記録する割付け記述子の個数を指定する。
3.5.8.4
割付け記述子 (BP24) N̲AD個のextent̲ad(3.2.1参照)記述子を含む。これらの記述子のエク
ステント長欄は,論理セクタの大きさの整数倍の値を設定する。
3.5.9
終端記述子 終端記述子は,ボリューム記述子列(3.3.4.2参照)の終端として記録してもよい。終
端記述子は,表3.21に示すフォーマットで記録する。
29
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表3.21 終端記述子のフォーマット
BP
長さ
名前
内容
0
16 記述子タグ
tag(3.2.2参照)(タグ=8)
16
496 予備
#00バイト
3.5.9.1
記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を8とする。
3.5.9.2
予備 (BP16) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
3.5.10 論理ボリューム保全記述子 論理ボリューム保全記述子は,論理ボリュームの保全状態を規定し,
表3.22に示すフォーマットで記録する。
表3.22 論理ボリューム保全記述子のフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(3.2.2参照)(タグ=9)
16
12
記録日時
timestamp(1.6.3参照)
28
4
保全種別
Uint32(1.6.1.5参照)
32
8
保全列続きエクステント
extent̲ad(3.2.1参照)
40
32
論理ボリューム内容用
バイト
72
4
区画個数 (=N̲P)
Uint32(1.6.1.5参照)
76
4
処理システム用の長さ (=
L̲IU)
Uint32(1.6.1.5参照)
80
N̲P×4 利用可能空間テーブル
Uint32(1.6.1.5参照)
N̲P×4+80
N̲P×4 サイズテーブル
Uint32(1.6.1.5参照)
N̲P×8+80
L̲IU
処理システム用
バイト
論理ボリューム保全記述子は,関連する論理ボリュームの内容を更新したときに書き込む構造である。
論理ボリューム保全記述子の内容によって,処理システムは次に示す問いに対し容易に回答可能である。
a) 論理ボリュームの内容は,一貫性のある状態か否か
b) 論理ボリュームを更新した最終日時
c) 論理ボリューム中の使用可能空間の論理ブロック総数
d) 論理ボリューム中の論理ブロック総数
e) 論理ボリューム中で次に使用可能な一意ID
f)
論理ボリュームを作成した作成システムが最後にアクセスした日時以降に,論理ボリューム中の内容
を更新したほかの処理システムがあるか否か
3.5.10.1 記述子タグ (BP0) この記述子に対するtag(3.2.2参照)のタグ識別子欄の内容を9とする。
3.5.10.2 記録日時 (BP16) この記述子を記録した日時を指定する。
3.5.10.3 保全種別 (BP28) 保全記述子の種別を指定する。種別を表3.23に示す。
表3.23 論理ボリューム保全種別
種別
意味
0
オープン保全記述子であることを示す。
1
クローズ保全記述子であることを示す。
2〜255 将来の標準化のための予備とする。
3.5.10.4 保全列続きエクステント (BP32) 論理ボリューム保全列の続きのエクステントを指定する。エ
クステント長が0の場合,このようなエクステントを指定しないことを示す。
3.5.10.5 論理ボリューム内容用 (BP40) 関連した論理ボリューム中に記録した情報の解釈に必要な情
報を指定する。
この欄の内容の情報に関しては,論理ボリュームヘッダ記述子の節を参照のこと。
30
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.5.10.6 区画個数 (=N̲P) (BP72) 関連した論理ボリューム中の区画の個数を指定する。
3.5.10.7 処理システム用の長さ (=L̲IU) (BP76) 処理システム用の欄の長さをバイト数によって指定
する。
3.5.10.8 利用可能空間テーブル (BP80) 関連した論理ボリューム記述子中の区画マップ欄のエントリ
に対応した区画の利用可能な空間の総和を,論理ブロック数によって指定する。
ほとんどのオペレーティングシステムは,媒体のマウント時に,処理システムが論理ボリューム中の利
用可能空間の大きさを提供することを要求するため,これらの値を保持することは重要である。有効な利
用可能空間の量が不明なことを示す#FFFFFFFFのオプション値は使用してはならない。
備考 論理ボリューム保全記述子をクローズ状態にしたときだけ,正しい利用可能空間テーブルを保
証する。
3.5.10.9 サイズテーブル (BP N̲P×4+80) 関連した論理ボリューム記述子中の区画マップ欄のエント
リに対応した区画のサイズを,論理ブロック数によって指定する。
ほとんどのオペレーティングシステムは,媒体のマウント時に,処理システムが論理ボリュームの大き
さを提供することを要求するため,これらの値を保持することは重要である。区画長が不明なことを示す
#FFFFFFFFのオプション値は使用してはならない。
3.5.10.10 処理システム用 (BP N̲P×8+80) 処理システムの識別情報を指定する。
論理ボリューム保全記述子の処理システム用領域は,表3.24に示す構成とする。
表3.24 処理システム用フォーマット
RBP
長さ
名前
内容
0
32
処理システム識別子 EntityID
32
4
ファイル数
Uim32 (1.6.1.5)
36
4
ディレクトリ数
Uint32 (1.6.1.5)
40
2
UDF読出し最小版数 Uint16 (1.6.1.3)
42
2
UDF書込み最小版数 Uint16 (1.6.1.3)
44
2
UDF書込み最大版数 Uint16 (1.6.1.3)
46
L̲IU−46 処理システム用
バイト
3.5.10.10.1 処理システム識別子 (RBP0) 処理システム識別子は,実体識別子の範囲内のどれかを最後に
更新した処理システムの実体識別子を指定する。実体識別子の適用範囲は,論理ボリューム識別子及び関
連する論理ボリュームの内容である。この欄は,論理ボリュームの内容を最後に更新した処理システムの
識別を処理システムに許可する。
3.5.10.10.2 ファイル数 (RBP32) 関連する論理ボリューム中の現状のファイルの個数。すべての処理シス
テムはこの情報を保持する。
備考 この値は,拡張属性をファイル数に含まない。
3.5.10.10.3 ディレクトリ数 (RBP36) 関連する論理ボリューム中の現状のディレクトリの個数。すべての
処理システムは,この情報を保持する。
備考 ルートディレクトリは,ディレクトリ数に含まれる。
3.5.10.10.4 UDF読出し最小版数 (RBP40) この媒体中のすべての構造を読み出すために,処理システム
が利用可能とする必要があるUDF版数の最小値を示す。この番号は,10進数の2進表示で記録する。例
えば,#0102はUDF1.02を示す。
31
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.5.10.10.5 UDF書込み最小版数 (RBP42) この媒体中のすべての構造を更新するために,処理システム
が利用可能とする必要があるUDF版数の最小値を示す。この番号は,10進数の2進表示で記録する。例
えば,#0102はUDF1.02を示す。
3.5.10.10.6 UDF書込み最大版数 (RBP44) 媒体中を更新した処理システムが利用可能とするUDF版数の
最大値を示す。処理システムは,媒体の更新によって,媒体がこの欄の現状の値より大きいUDF版数を必
要とするようになった場合だけに,この欄を更新する。この番号は,10進数の2進表示で記録する。例え
ば,#0102はUDF1.02を示す。
3.5.10.10.7 処理システム用 (RBP46) 処理システム識別子で識別する処理システムだけの固有情報を含
む。
3.6
媒体交換の水準 第3章は,媒体交換の次の水準を規定する。
次に示す水準の規定において,Nをボリューム中の最大論理セクタ番号とする。
3.6.1
水準1 この規格では,水準1は使用しない。
3.6.2
水準2 水準2には,次の制約が伴う。
ボリューム集合は,一つだけのボリュームから成る。
3.6.3
水準3 水準3には,制約がない。
3.7
システム記述に対する要件 第3章は,ある情報を利用者と処理システムとの間で受け渡すことを
規定する。
3.8
作成システムに対する要件
3.8.1
一般 処理システムは,3.6で規定した媒体交換の水準に従って,ボリューム集合中の3.5で規定
したすべての記述子を記録できなければならない。
処理システムは,利用者から要求されない限り,基本ボリューム記述子中の交換最大水準欄及び文字最
大集合リスト欄を変更してはならない。
処理システムは,文字集合種別CS2に対するビットをONEに設定する文字集合(1.6.2.3参照)のリス
トを記録できなければならない。
利用者が特に使用する基本ボリューム記述子を規定しない場合は,処理システムは,ボリューム記述子
番号0の基本ボリューム記述子を使用しなければならない。
処理システムは,利用者の要求があれば,第3章で規定した記述子中のregid (1.6.4) 欄の不正ビット又
は保護ビットを変更してもよい。
regid (1.6.4) の適用範囲の情報を更新した結果,今までどおりにregid中の識別情報によって同意してい
たregidの適用範囲で記録した情報を,処理システムが保証できなくなった場合は,処理システムは,regid
中のフラグ欄の不正ビットをセットし,regidの識別子欄を変更してはならない。
3.8.2
利用者による不可欠アクセス
3.8.2.1
記述子 処理システムは,次に示す記述子の各欄に記録する情報を利用者が供給することを許さ
なければならない。利用者がいずれかの欄の情報を供給しない場合には,処理システムがそれを供給しな
ければならない。
a) 基本ボリューム記述子
1) 基本ボリューム記述子番号
2) ボリューム識別子
3) ボリューム順序番号
4) 最大ボリューム順序番号
32
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
5) 交換最大水準
6) 文字最大集合リスト
7) ボリューム集合識別子
8) 記述子文字集合
b) 区画記述子
1) 区画番号
2) 区画内容
3) アクセス種別
4) 区画開始位置
5) 区画長
c) 論理ボリューム記述子
1) 記述子文字集合
2) 論理ボリューム識別子
3) 論理ブロック長
4) 区画マップの個数
5) 区画マップ
3.8.3
利用者による任意アクセス 基本ボリューム記述子中のボリューム抄録欄及びボリューム著作権
通告欄で規定するエクステントに記録する情報を利用者が供給することを処理システムが許す場合,利用
者が供給したそれらの情報を処理システムが記録しなければならない。
3.8.3.1
記述子 次に示す記述子の各欄に記録する情報を利用者が供給することを処理システムが許す
場合,利用者が供給したそれらの情報を処理システムが記録しなければならない。利用者による欄の情報
の供給がない場合には,処理システムがその情報を供給しなければならない。
a) 基本ボリューム記述子
1) 文字集合リスト
2) 説明用文字集合
3) 応用プログラム識別子
b) 論理ボリューム記述子
1) 範囲識別子
3.8.3.2
複数ボリュームのボリューム集合 ボリューム順序番号mのボリューム集合中に情報を記録し
た後は,処理システムに対し,ボリューム順序番号nを割り当てたボリューム集合中のボリュームに情報
を記録する要求を行ってはならない (1≦n<m)。
ボリューム順序番号nを割り当てたボリューム集合中のボリュームに情報を記録できる十分な空間があ
る場合,処理システムに対し,ボリューム順序番号m+1を割り当てたボリューム集合中のボリュームに
情報を記録する要求を行ってはならない (1≦m≦n)。
3.9
受領システムに対する要件
3.9.1
一般 処理システムは,第3章で規定した媒体交換水準の一つに従って,ボリューム集合中の3.5
で規定したすべての記述子を解釈できなければならない。
利用者が使用する基本ボリューム記述子を特に規定しない場合は,処理システムは,ボリューム記述子
番号0の基本ボリューム記述子を使用しなければならない。
3.9.2
利用者による不可欠アクセス
33
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.9.2.1
記述子 処理システムは,基本ボリューム記述子中のボリューム抄録欄及びボリューム著作権通
告欄で規定するエクステントに記録した情報を利用者に提供しなければならない。
処理システムは,次に示す記述子の各欄に記録した情報へのアクセスを利用者に許さなければならない。
a) 基本ボリューム記述子
1) ボリューム識別子
2) ボリューム順序番号
3) 最大ボリューム順序番号
4) 交換水準
5) 交換最大水準
6) 文字最大集合リスト
7) ボリューム集合識別子
8) 記述子文字集合
9) 説明用文字集合
b) 区画記述子
1) 区画番号
2) 区画内容
3) アクセス種別
4) 区画開始位置
5) 区画長
c) 論理ボリューム記述子
1) 論理ボリューム識別子
2) 範囲識別子
第4章 ファイル構造
4.1
ほかの章との関係 ほかの規定又はほかの章に対する第4章の関係を,4.1が規定する。
4.1.1
入力 第4章は,ほかの規定又はほかの章による次の規定を必要とする。
a) 一つ以上のボリュームから成るボリューム集合
b) ボリューム順序番号(4.3.1参照)を割り当てる方法
c) 区画から成る論理ボリューム
d) 論理ボリューム中の区画の,番号による識別情報
e) ボリュームを第3章に従って記録する場合,3.3.8に従って番号付けた区画
f)
一つ以上のファイル集合を記録する論理ボリュームの識別情報
g) 論理ボリュームの区画を固定長の論理ブロックに分割する方式
h) 区画中の論理ブロック番号による識別情報
i)
論理ブロックの大きさ。512の整数倍であること。
j)
論理ブロックが未記録かどうかの判定手段
k) ボリュームを第3章に従って記録する場合,論理ブロックを構成する論理セクタのすべてが未記録の
場合,その論理ブロックは未記録とする。論理ブロックは,完全に記録済み又は完全に未記録のいず
れかでなければならない。
l)
論理ボリュームのファイル集合記述子列(4.3.3.1参照)の先頭エクステントを識別する手段
34
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
m) ボリュームを第3章に従って記録する場合,論理ボリュームのファイル集合記述子列の先頭のエクス
テントは,ファイル集合記述子を記録した論理ボリュームを記述する論理ボリューム記述子の論理ボ
リューム内容用欄(3.5.6.7参照)に,long̲ad(4.9.14.2参照)として記録する。
n) 論理ボリュームの論理ボリュームヘッダ記述子(4.9.15参照)を指定する手段
o) ボリュームを第3章に従って記録する場合,論理ボリュームの最新論理ボリューム保全記述子の論理
ボリューム内容用欄(3.5.10.5参照)に,論理ボリュームヘッダ記述子を記録する。
p) ファイル集合を記録する論理ボリュームの各区画について次で示すものを識別する手段
1) 未割付け空間表及び未割付け空間ビットマップ(4.5参照)
2) 未初期化空間表及び未初期化空間ビットマップ(4.5参照)
ボリュームを第3章に従って記録する場合,区画を記述する区画記述子(3.5.5参照)の区画内容用欄
(3.5.5.6参照)は,区画ヘッダ記述子(4.9.3参照)として記録する。その区画記述子は,区画内容欄が “+
NSR02” でなければならない。
4.1.2
出力 第4章は,ほかの規定又はほかの章が使ってもよい次の内容を規定する。
a) ファイルのデータ空間(4.3.8.2参照)
b) ファイルの属性
c) ディレクトリの属性
d) ディレクトリ階層の属性
4.2
基本データ種別 第1章の基本データ種別(1.6参照)に追加して,次の基本データ種別を第4章に
適用する。
4.2.1
記録番地 論理ブロック番地は,lb̲addrで示し,表4.1のフォーマットで記録する。
表4.1 論理ブロック番地 (lb̲addr) のフォーマット
RBP
長さ
名前
内容
0
4
論理ブロック番号 Uint32 (1.6.15)
4
2
区画参照番号
Uint16 (1.6.1.3)
4.2.1.1
論理ブロック番号 (RBP0) 区画参照番号欄で識別する区画の先頭からの相対ブロック番号を
指定する。論理ブロック番号0は,区画の先頭の論理ブロックであることを示す。
4.2.1.2
区画参照番号 (RBP4) 論理ボリューム(4.1.1参照)中の区画の識別番号を指定する。
4.2.2
記述子タグ 第4章で規定する記述子には,16バイト長の構造であるタグ (tag) を記述子の先頭
に記録する。タグは,表4.2のフォーマットで記録する。
参考 共通のタグ構造を使用するのは,二つの主な理由がある。一つは,ほとんどの記述子は,共通
なCRC及びフォーマット版数を扱う必要があるためである。もう一つの理由は,媒体の破壊又
は何らかの方法で不正になった後の回復を実現するためである。ここで示すタグは,自己識別
する構造であり,小さな環境でも確認できる。
表4.2 タグ (tag) のフォーマット
RBP
長さ
名前
内容
0
2
タグ識別子
Uint16 (1.6.1.3)
2
2
記述子版数
Uint16 (1.6.1.3)
4
1
タグチェックサム Uint8 (1.6.1.1)
5
1
予備
#00バイト
6
2
タグ通し番号
Uint16 (1.6.1.3)
8
2
記述子CRC
Uint16 (1.6.1.3)
10
2
記述子CRC長
Uint16 (1.6.1.3)
12
4
タグ位置
Uint32 (1.6.1.5)
35
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.2.2.1
タグ識別子 (RBP0) 記述子種別を指定する。種別0は,第4章で規定する記述子のフォーマッ
トでないことを示す。種別1〜7及び9は,第3章で規定する。種別8は,第3章及び第4章で同一に規
定する。種別256〜265は,第4章で規定する。その他の種別は,将来の標準化のための予備とする。第4
章で規定する記述子種別を,表4.3に示す。
表4.3 記述子の解釈
種別
解釈
8
終端記述子(3.5.9及び4.9.2)
256
ファイル集合記述子 (4.9.1)
257
ファイル識別記述子 (4.9.4)
258
割付けエクステント記述子
(4.9.5)
259
間接エントリ (4.9.7)
260
終端エントリ (4.9.8)
261
ファイルエントリ (4.9.9)
262
拡張属性ヘッダ記述子 (4.9.10.1)
263
未割付け空間エントリ (4.9.11)
264
空間ビットマップ記述子 (4.9.12)
265
区画保全エントリ (4.9.13)
4.2.2.2
記述子版数 (RBP2) 記述子の版数を示し,値2を指定する。
4.2.2.3
タグチェックサム (RBP4) タグの0〜3バイトと5〜15バイトとの和を256で割った余りを指
定する。
4.2.2.4
予備 (RBP5) 将来の標準化のための予備とし,#00を設定する。
4.2.2.5
タグ通し番号 (RBP6) 記述子集合の識別情報を指定する。この欄の内容が0の場合は,記述子
集合の識別をしないことを意味する。
タグ通し番号は,ボリュームの再初期化時には,以前に記録した値と異なる値を設定する。この欄の意
図する使用方法は,障害回復である。第4章のすべての記述子のタグ通し番号は,関連するファイル集合
記述子に使用した通し番号と同一とする。
4.2.2.6 記述子CRC (RBP8) 記述子タグ直後の先頭バイトから始まる記述子バイトのCRCを指定する。
バイト数は,記述子CRC長欄で指定する。CRCは16ビットで,CRC-ITU-T多項式(ITU-T勧告V.41参
照)で生成する。
x16+x12+x5+1
備考 例えば,#70 #6A #77の3バイトのCRCは,#3299である。処理システムは,記述子CRC長欄
の値を0にすることで,CRCの計算を避けられる。このとき,記述子CRCの値も0とする。
4.2.2.7
記述子CRC長 (RBP10) 記述子CRCを計算するのに使用したバイト数を指定する。
特記しない限り,CRCは,各記述子で利用可能であり,計算されなければならない。この欄には,記述
子の長さから記述子タグの長さ (16) を減算した値を設定する。記述子を読み出すときは,CRCを検証し
なければならない。
4.2.2.8
タグ位置 (RBP12) 記述子の先頭バイトを含む論理ブロックの番号を指定する。論理ブロック
番号は,この記述子を記録する区画内における論理ブロック番号である。
参考 タグ位置は冗長に見えるが,その主な目的は,論理セクタ又は論理ブロックの先頭16バイトが
記述子タグと同一フォーマットの場合,高い確度でそれを記述子タグとすることである。
4.3
ファイル構造
36
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.3.1
ボリューム集合 ボリューム集合の各ボリュームには,4.1.1に示すとおりにボリューム順序番号
を割り当てる。
4.3.2
ボリューム集合中の情報の構成 論理ボリューム及び論理ボリュームに関連するファイル集合は,
ボリューム集合に記録する。
4.3.3
論理ボリューム中の情報の構成 第4章では,論理ボリュームを一つ以上のボリュームに存在する
区画の集合とする。
4.3.3.1
ファイル集合記述子列 ファイル集合記述子列は,論理ボリュームにエクステントの列として記
録する。ファイル集合記述子列は,図4.1に示すスキーマに従って記録する。
[ファイル集合記述子列のエクステント]{
<ファイル集合記述子>0+
[ターミネータ]{
<ファイル集合記述子>
|<終端記述子>
|<未記録論理ブロック>
}<後続の論理ブロック>0+
}0+
図4.1 ファイル集合記述子列のスキーマ
論理ボリューム中のファイル集合は,1個だけとする。
ファイル集合記述子に,ファイル集合記述子番号を割り当てる。
ファイル集合に,ファイル集合番号を割り当てる。
4.3.4
区画中の情報の構成 ファイル集合を記録する論理ボリュームの各区画について,次で示すものの
位置を識別する手段として,第4章の入カパラメタ(4.1.1参照)で指定する必要がある。
a) 割付け空間表及び未割付け空間ビットマップ(4.5参照)
b) 未初期化空間表及び未初期化空間ビットマップ(4.5参照)
4.3.5
ファイル集合 ファイル集合は,ファイル集合記述子で識別し,次で示すものを指定する。
a) ファイル集合を記録する論理ボリュームの名前
b) ファイル集合記述子で識別するファイル集合に関連する記述子の欄で使用可能な文字集合
c) ファイル集合記述子で識別するファイル集合のファイルを記述するディレクトリ階層のルートの識別
情報
d) ファイル集合の著作権及び抄録についての情報
4.3.6
ディレクトリ ディレクトリは,0個以上のファイル又はディレクトリの識別情報をもつ。ディレ
クトリ階層は,一つのルートディレクトリから始まるディレクトリの集合とする。
ディレクトリは,図4.2のスキーマに従って記録する。
{
<ファイル識別記述子>
}0+
図4.2 ディレクトリのスキーマ
4.3.6.1
ディレクトリ記述子の順序 ディレクトリのディレクトリ記述子を,第4章に従って並べる場合,
次の順に並べる。
37
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
a) ファイル識別子の相対値の昇順 ファイル識別子の値は,次に示すとおりに評価する。
1) 比較するファイル識別子のすべてのバイト位置で同一の値をもつ場合,ファイル識別子は同一の値
とする。
2) 比較するファイル識別子のバイト数が異なる場合,短いファイル識別子の右に#00バイトを埋め込
み,同一の長さになるようにして扱い,その埋込みの後,ファイル識別子をバイト位置の昇順に1
バイトずつ比較し,異なる値を含むバイト位置を見つけ,バイトの値を符号なし整数として比較し,
大きい値をもつファイル識別子が大きいとする。
b) ファイル版数の相対値の降順
4.3.6.2
ディレクトリ階層の大きさの制限 ディレクトリ階層中のディレクトリで記述するディレクト
リ及びファイルの個数の合計は,232より小さくなければならない。サブディレクトリは,ルートディレク
トリの直下だけに存在する。
4.3.7
パス名 パス名は,ファイル又はディレクトリを名前で示す場合に使用する。
4.3.7.1
帰着パス名 ディレクトリ階層中では,ファイル又はディレクトリを示すすべてのパス名は,帰
着パス名をもつ。
4.3.8
ファイル ファイルは,記録したデータの位置及び属性を指定するファイルエントリ(4.9.9参照)
で記述する。
4.3.8.1
ファイルの属性 ファイルエントリは,ファイルの属性を規定する。属性の幾つかはファイルエ
ントリ中の欄に記録する。残りは,拡張属性として記録する。
4.3.8.2
ファイルのデータ空間 ファイルのデータ空間は,次に示すとおりとする。
ファイルは、論理ブロックのエクステントの列の内容として記録し,このエクステントをファイルのデ
ータ空間とする。データ空間のバイトには,昇順に連続番号を割り当てる。番号付けは,データ空間の先
頭エクステントの先頭論理ブロックの先頭バイトに割り当てる0から始まる。
ファイルのデータ空間のバイト数を,ファイルの情報長(4.9.9.10参照)と呼ぶ。
4.3.9
レコード構造 ファイルの情報は,レコードの集合としては扱わない。
4.3.10 情報制御ブロック (ICB) ファイルの各インスタンスは,ICBの一つのエントリで記述する。フ
ァイルのインスタンスを記述するエントリの集合は,一つ以上のICB中のエントリの集合で記述する。こ
のICBの集合は,4.3.10.1で示すICB階層を形成する。
ICBは,論理ブロックのエクステント中に記録するICBエントリの列とする。ICBの番地又は位置は,
そのエクステントの番地とする。列の一つのエントリは,次に示すもののいずれかとする。
a) ファイル又はエクステントの集合の記録実体を記述する,直接エントリ
b) ほかのICBを記述する,間接エントリ(4.9.7参照)
c) このエントリ以降にエントリがないことを示す,終端エントリ(4.9.8参照)
d) このエントリ以降にエントリがないことを示す,未記録論理ブロック
4.3.10.1 ICB階層 ICB階層は,ルートICBから始まるICBの集合とする。ルートICBは,ICB階層のレ
ベル1の唯一のICBとする。間接エントリによってほかのICBを識別するICBは,識別されるICBの親
ICBとする。
4.4
拡張属性 拡張属性は,属性種別及び属性副種別を指定し,属性ごとの固有の情報を指定してもよ
い。拡張属性は,ファイルに関連する。すべての拡張属性は,一つ以上の拡張属性空間に記録する。属性
種別欄及び属性副種別欄が同一内容である拡張属性を,拡張属性のインスタンスと呼ぶ。
拡張属性空間は,次に示すものの一つとする。
38
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
a) ファイルエントリの拡張属性欄
b) ファイルエントリで識別するICBによって記述するファイル
いずれの場合でも,拡張属性空間は,図4.3で示すスキーマに従って記録する。
<拡張属性ヘッダ記述子>
<拡張属性>0+
図4.3 拡張属性空間のスキーマ
4.5
区画空間管理 第4章では,区画の空間管理の種別として2種類を規定する。一つは,割付け可能
な空間(未割付け空間)とし,もう一つは,割付けの前に準備が必要な空間(未初期化空間)とする。い
ずれの場合も,区画空間を,区画中の論理ブロックの集まりを指定する空間集合で指定する。空間集合は,
4.5.1で示す空間表又は空間ビットマップとして記録する。
4.5.1
空間集合 空間集合は,空間表として記録する。
空間表は,間接エントリ及び未割付け空間エントリ(4.9.11参照)から成るICB階層として記録する。
空間集合の論理ブロックは,空間表の最終の空間エントリで示すエクステントに属するすべての論理ブ
ロックとする。
4.6
区画の保全 区画の保全は,使用しない。
4.7
割付け記述子 割付け記述子(4.9.14参照)は,エクステントの位置,長さ及び種別を示す。
割付け記述子の列は,エクステント又は欄に連続的に記録する。
割付け記述子の列のエクステント又は欄は,次のいずれかで終了する。
a) 欄の終了
b) エクステント長欄が0の割付け記述子
c) 割付け記述子の列の記録が続く,続きエクステントを識別する割付け記述子
続きエクステントは,図4.4のスキーマに従って記録する。
[割付け記述子のエクステント]{
<割付けエクステント記述子>
<割付け記述子>1+
}
図4.4 続きエクステントのスキーマ
割付け記述子は,関連する情報長を示す。これは,エクステント中の情報の量をバイト数で示す。ext̲ad
(4.9.14.3参照)は,情報長を欄としてもつ。ほかの割付け記述子は,情報長はエクステント長と等しい。
4.7.1
ファイルの記述 ファイルのエクステントを記述する割付け記述子の列を,ファイル本体として記
録し,その後にファイル後部を付けて,図4.5のスキーマに従って記録する。
[ファイル本体]{
<割付け記述子>(エクステント長がLBSの倍数)0+
<割付け記述子>0+1
}
[ファイル後部]{
<割付け記述子>(割付け済で未記録)0+
}
4.5 ファイルエクステントのスキーマ
39
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
LBSは,論理ブロック長を示す。割付け記述子の種別は,ICBタグ欄(4.9.6.8参照)のフラグ欄で指定
する。
4.8
記述子の記録 フォーマットをバイト位置 (BP) で示す第4章の記述子は,論理ブロックの先頭バ
イトが記述子の先頭バイトになるように記録することを示し,その記述子の長さは,空間ビットマップ記
述子の長さを除いて,論理ブロック長を超えない。
フォーマットを相対バイト位置 (RBP) で示す第4章の記述子は,記述子の説明で指定する以外に論理
ブロック中の位置に関する制限はない。
記述子を論理ブロックに記録するとき,記述子の終端から論理ブロックの終端までの空間は,将来の標
準化のための予備とし,すべてのバイトを#00に設定する。
4.9
ファイルデータ構造
4.9.1
ファイル集合記述子 ファイル集合記述子は,表4.4に示すフォーマットで記録し,ファイル及び
ディレクトリ集合を識別する。
表4.4 ファイル集合記述子
BP
長さ
名前
内容
0
16 記述子タグ
tag(4.2.2参照)(タグ=256)
16
12 記録日時
timestamp(1.6.3参照)
28
2 交換水準
Uint16(1.6.1.3参照)=3
30
2 交換最大水準
Uint16(1.6.1.3参照)=3
32
4 文字集合リスト
Uint32(1.6.1.5参照)=#00000001
36
4 文字最大集合リスト
Uint32(1.6.1.5参照)=#00000001
40
4 ファイル集合番号
Uint32(1.6.1.5参照)
44
4 ファイル集合記述子番号
Uint32(1.6.1.5参照)
48
64 論理ボリューム識別子用文字集合 charspec(1.6.2.1参照)
112
128 論理ボリューム識別子
dstring(1.6.2.4参照)
240
64 ファイル集合用文字集合
charspec(1.6.2.1参照)
304
32 ファイル集合識別子
dstring(1.6.2.4参照)
336
32 著作権ファイル識別子
dstring(1.6.2.4参照)
368
32 抄録ファイル識別子
dstring(1.6.2.4参照)
400
16 ルートディレクトリ
long̲ad(4.9.14.2参照)
416
32 範囲識別子
regid(1.6.4参照)
フラグ
Uint8(1.6.1.1参照)=0
識別子
bytes (23) = “*OSTA UDF Compliant”
識別子添字
Uint8=#0102, bytes (6) =#00
448
16 後続エクステント
long̲ad(4.9.14.2参照)
464
48 予備
#00バイト
書換形/上書き可能形媒体中には,一つだけファイル集合記述子を記録する。追記形媒体中には,複数
のファイル集合記述子を記録してもよい。
複数のファイル集合に関する規定を,次に示す。
a) 複数のファイル集合は,追記形媒体中だけに許可する。
b) デフォルトのファイル集合は,最大のファイル集合番号をもつ。
c) デフォルトのファイル集合だけを,書込み可能としてよい。その列におけるほかのすべてのファイル
集合は,ハード書込み保護(1.6.4.3参照)を設定する。
d) 書込み不可のファイル集合は,その他のファイル集合で(直接又は間接的に)参照するメタデータ構
造を参照する。
40
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
書込み可能のファイル集合は,実ファイルデータエクステントを参照してもよい。
追記形媒体のファイル集合中では,すべてのファイル及びディレクトリをICB方策種別4で記録する場
合,そのファイル集合記述子の範囲識別子にはハード書込み保護を設定しなければならない。
追記形媒体中の複数のファイル集合の意図する目的は,媒体中に複数のアーカイブを保持する機能を利
用可能にすることである。例えば,一つのファイル集合は,特定の時点で作成した情報集合のバックアッ
プを表現する。後続のファイル集合は,その後作成した同一情報集合のほかのバックアップとして表現す
る。
4.9.1.1
記述子タグ (BP0) この記述子に対するtag(4.2.2参照)のタグ識別欄の内容を256とする。
4.9.1.2
記録日時 (BP16) この記述子を記録した日時を指定する。
4.9.1.3
交換水準 (BP28) この記述子で記録するファイル集合の現状の媒体交換水準(4.10参照)を指
定する。
水準3を設定する。
4.9.1.4
交換最大水準 (BP30) この記述子の交換水準欄で指定可能な交換水準の最大値を指定する。
水準3を設定する。
4.9.1.5
文字集合リスト (BP32) この記述子によって記述するファイル集合の中に記録する,第4章で
規定した記述子の,内容をcharspec(1.6.2.1参照)とする欄が指定する文字集合を識別する。
1.6.2.1で定義するCS0だけを利用可能とする設定を行う。
4.9.1.6
文字最大集合リスト (BP36) この記述子の文字集合リスト欄には,この欄(1.6.2.3参照)で規
定しない文字集合を指定してはならない。
1.6.2.1で定義するCS0だけを利用可能とする設定を行う。
4.9.1.7
ファイル集合番号 (BP40) この記述子に割り当てたファイル集合番号を指定する。
4.9.1.8
ファイル集合記述子番号 (BP44) この記述子に割り当てたファイル集合記述子番号を指定す
る。
4.9.1.9
論理ボリューム識別子用文字集合 (BP48) 論理ボリューム識別子欄で使用可能なd文字(1.6.2
参照)を指定する。
1.6.2.1で定義するCS0だけを利用可能とする。
4.9.1.10 論理ボリューム識別子 (BP112) ファイル集合に記録する論理ボリュームの識別子を指定する。
4.9.1.11 ファイル集合用文字集合 (BP240) d文字(1.6.2参照)を規定する第4章の幾つかの欄の記述
子で使用可能なd文字(1.6.2参照)を指定する。
1.6.2.1で定義するCS0だけを利用可能とする。
4.9.1.12 ファイル集合識別子 (BP304) この記述子で識別したファイル集合の識別子を指定する。
4.9.1.13 著作権ファイル識別子 (BP336) この記述子で識別したファイル集合中に記録した情報に対す
る著作権通告を含むルートディレクトリ中の一つのファイルを識別する。この欄がすべて#00バイトの場
合,そのようなファイルを識別しないことを示す。
4.9.1.14 抄録ファイル識別子 (BP368) この記述子で識別したファイル集合中に記録した情報に対する
抄録を含むルートディレクトリ中の一つのファイルを識別する。この欄がすべて#00バイトの場合,その
ようなファイルを識別しないことを示す。
4.9.1.15 ルートディレクトリ (BP400) この記述子で識別したファイル集合に関連するディレクトリ階
層のルートディレクトリを記述するICBの位置を指定する。エクステント長が0の場合,このようなICB
を識別しないことを示す。
41
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.9.1.16 範囲識別子 (BP416) この欄は,この規格で規定する範囲に適合するファイル記述子の適用範
囲を示す。したがって,範囲識別子には, “*OSTA UDF Compliant” を設定する。
実体識別子の節 (1.6.4) で記述したとおり,実体識別子の識別子添字欄には,論理ボリュームの内容が
互換性をもつUDFの版数を含む。この欄の適切な扱いに関する詳細情報は,実体識別子の節 (1.6.4) を参
照のこと。
備考 実体識別子の識別子添字欄は,ソフト書込み保護フラグ及びハード書込み保護フラグを含む。
4.9.1.17 後続エクステント (BP448) ファイル集合記述子列における続きのエクステントを指定する。
エクステント長が0の場合,このようなエクステントを指定しないことを示す。
4.9.1.18 予備 (BP464) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.2
終端記述子 この記述子は,表4.5に示すフォーマットでファイル集合記述子列(4.3.3.1参照)の
終端として記録してもよい。
表4.5 終端記述子
BP
長さ
名前
内容
0
16 記述子タグ tag(4.2.2参照)(タグ=8)
16
496 予備
#00バイト
4.9.2.1
記述子タグ (BP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を8とする。
4.9.2.2
予備 (BP16) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.3
区画ヘッダ記述子 この記述子は,未割付け空間表,未初期化空間表及び区画保全表を規定する。
4.1.1の規定に従って,表4.6に示すフォーマットで記録する。
表4.6 区画ヘッダ記述子のフォーマット
RBP
長さ
名前
内容
0
8
未割付け空間表
short̲ad(4.9.14.1参照)
8
8
未割付け空間ビットマップ short̲ad(4.9.14.1参照)
16
8
区画保全表
short̲ad(4.9.14.1参照)=0
24
8
未初期化空間表
short̲ad(4.9.14.1参照)
32
8
未初期化空間ビットマップ short̲ad(4.9.14.1参照)
40
88
予備
#00バイト
未割付けとした論理ブロックは,前処理なしに書込み可能なブロックである。書換形媒体の場合,消去
処理なしに書き込める。未初期化とした論理ブロックは,書込み準備が必要なブロックであり,何らかの
前処理をする必要がある。書換形媒体の場合,消去処理後に書き込む。
備考 空間表又は空間ビットマップの使用は,論理ボリューム中で一貫している必要がある。空間表
及び空間ビットマップの両方を一つの論理ボリューム中で同時に使用してはならない。
4.9.3.1
未割付け空間表 (RBP0) この区画の未割付け空間表(4.5参照)を指定する。エクステント長
が0の場合,未割付け空間表を指定しないことを示す。
4.9.3.2
未割付け空間ビットマップ (RBP8) この区画の未割付け空間ビットマップ(4.5参照)を記録
したエクステントを指定する。エクステント長が0の場合,未割付け空間ビットマップを指定しないこと
を示す。
4.9.3.3
区画保全表 (RBP16) 区画保全エントリは使用しないため,すべて0を設定する。
4.9.3.4
未初期化空間表 (RBP24) この区画の未初期化空間表(4.5参照)を指定する。エクステント長
が0の場合,未初期化空間表を指定しないことを示す。
42
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.9.3.5
未初期化空間ビットマップ (RBP32) この区画の未初期化空間ビットマップ(4.5参照)を記録
したエクステントを指定する。エクステント長が0の場合,未初期化空間ビットマップを指定しないこと
を示す。
4.9.3.6
予備 (RBP40) 将来の標準化のために予備とし,すべてのバイトに#00を設定する。
4.9.4
ファイル識別記述子 この記述子は,表4.7に示すフォーマットで記録する。
表4.7 ファイル識別記述子のフォーマット
RBP
長さ
名前
内容
0
16
記述子タグ
tag(4.2.2参照)(タグ=257)
16
2
ファイル版数
Uint16(1.6.1.3参照)=1
18
1
ファイル特性
Uint8(1.6.1.1参照)
19
1
ファイル識別子の長さ Uint8(1.6.1.1参照)
20
16
ICB
long̲ad(4.9.14.2参照)
36
2
処理システム用の長さ Uint16(1.6.1.3参照)
38
L̲IU 処理システム用
bytes
L̲IU+38
L̲FI ファイル識別子
d文字(1.6.2参照)
L̲FI+L̲IU+38
*
埋込み
#00バイト
ファイル識別記述子の最大長は,1論理ブロック長とする。
備考 すべてのディレクトリは,親ディレクトリの位置を示すファイル識別記述子を含む。親ディレ
クトリを記述するファイル識別記述子は,ディレクトリ中の先頭のファイル識別記述子でなけ
ればならない。4.3.6で規定するとおり,ルートディレクトリの親ディレクトリは,ルートディ
レクトリである。
4.9.4.1
記述子タグ (RBP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を257とする。
4.9.4.2
ファイル版数 (RBP16) このファイル識別子欄で指定したファイルの版数番号を,値1に設定
する。
4.9.4.3
ファイル特性 (RBP18) 表4.8に示すファイル特性を指定する。
表4.8 ファイル特性
ビット
解釈
0
存在:ZEROの場合,ファイルの存在を利用者に知らせることを示す。
ONEの場合,ファイルの存在を利用者に知らせる必要がないことを示す。
1
ディレクトリ:ZEROの場合,ファイルはディレクトリ(4.9.6.6参照)でないことを示す。
ONEの場合,ファイルはディレクトリであることを示す。
2
削除:ONEの場合,ファイルは削除されていることを示す。
ZEROの場合,ファイルは削除されていないことを示す。
3
親:ONEの場合,この記述子のICB欄は,この記述子を記録するディレクトリの親ディレク
トリに記録されたファイルに関連するICBを識別することを示す。
ZEROの場合,ICB欄は,この記述子が指定するファイルに関連するICBを識別すること
を示す。
4〜7 将来の標準化のための予備とし,すべてのビットにZEROを設定する。
ファイル特性については,附属書3を参照のこと。
4.9.4.4
ファイル識別子の長さ (=L̲FI) (RBP19) ファイル識別子欄の長さをバイト数で指定する。
4.9.4.5
ICB (RBP20) ファイルを記述しているICBの位置を指定する。
4.9.4.6
処理システム用の長さ (=L̲IU) (RBP36) 処理システム用欄の長さをバイト数で指定する。
処理システム用欄が未使用であることを示す0を指定してもよい。
43
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.9.4.7
処理システム用 (RBP38) 処理システム用の長さ欄が0でない場合,この欄の最初の32バイト
に,現状の処理システムの処理システム実体識別子を指定する。
備考 この欄の適切な扱いに関する詳細情報は,実体識別子の節 (1.6.4) を参照のこと。
この欄は,特定のファイル識別記述子を最後に作成又は更新した処理システムを識別することを,処理
システムに対して可能にする。
4.9.4.8
ファイル識別子 (RBP [L̲IU+38]) ICB欄で識別するICBによって記述したファイルの識別情
報を指定する。
参考 ファイル識別子の翻訳については,附属書4を参照のこと。
4.9.4.9
埋込み (RBP [L̲FI+L̲IU+38]) すべてのバイトを#00に指定する。
4.9.5
割付けエクステント記述子 表4.9に示すフォーマットで記録する。
表4.9 割付けエクステント記述子のフォーマット
RBP
長さ
名前
内容
0
16
記述子タグ
tag(4.2.2参照)(タグ=258)
16
4
先行割付けエクステント位置 Uint32(1.6.1.5参照)
20
4
割付け記述子の長さ (=
L̲AD)
Uint32(1.6.1.5参照)
割付けエクステント記述子の最大長は,1論理ブロック長とする。
4.9.5.1
記述子タグ (RBP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を258とする。
4.9.5.2
先行割付けエクステント位置 (RBP16) この欄には,値0を設定する。
4.9.5.3
割付け記述子の長さ (=L̲AD) (RBP20) ファイル識別子欄の長さをバイト数で指定する。
4.9.6
ICBタグ ICB中のすべてのエントリは共通形式をもち,共通フォーマットではtag(4.2.2参照)
の後に,表4.10に示すicbtagがあり,その後に,各エントリ種別に一意であってこのエントリ定義に記述
する部分が続く。
表4.10 icbtagのフォーマット
RBP 長さ
名前
内容
0
4
記録済み直接エントリの個数 Uint32(1.6.1.5参照)
4
2
方策種別
Uint16(1.6.1.3参照)=4又は4096
6
2
方策パラメタ
バイト
8
2
最大エントリ番号
Uint16(1.6.1.3参照)
10
1
予備
#00バイト
11
1
ファイル種別
Uint8(1.6.1.1参照)=5
12
6
親ICB位置
lb̲addr(4.2.1参照)
18
2
フラグ
Uint16(1.6.1.3参照)
4.9.6.1
記録済み直接エントリの個数 (RBP0) このエントリより前にこのICB階層中に記録した直接
エントリの個数を指定する。
4.9.6.2
方策種別 (RBP4) ICBが属するICB階層を構成する方策のうち,表4.11に示す種別4及び4096
を使用する。
表4.11 方策種別
種別
解釈
4 附属書5の5.で示す方策であることを示す。
4096 方策の解釈は,媒体の作成者と受領者との合意によるもの
であることを示し,附属書5の6.で示す方策であることを
示す。
44
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
この規格では,方策種別4又は方策種別4096を使用するものとする。
備考 方策種別4096は,追記形媒体中での使用を意図するが,書換形/上書き形媒体で使用してもよ
い。
4.9.6.3
方策パラメタ (RBP6) 方策種別欄で指定した方策に従って解釈する。
4.9.6.4
最大エントリ番号 (RBP8) ICBに記録可能なエントリの最大個数を指定する。
4.9.6.5
予備 (RBP10) 将来の標準化のための予備とし,#00を設定する。
4.9.6.6
ファイル種別 (RBP11) 表4.12に示すファイルの種別を指定する。
表4.12 ファイル種別
種別
解釈
0
この欄でファイルの解釈を指定していないことを示す。
1
未割付け空間エントリ(4.9.11参照)であることを示す。
2
区画保全エントリ(4.9.13参照)であることを示す。
3
間接エントリ(4.9.7参照)であることを示す。
4
ファイルは,ディレクトリ(4.3.6参照)であることを示す。
5
ファイルをバイトの列として解釈し,ランダムにアクセスしてよいことを示す。
6
ファイルは,ISO/IEC 9945-1で規定するブロック固有装置ファイルであることを示す。
7
ファイルは,ISO/IEC 9945-1で規定する文字固有装置ファイルであることを示す。
8
ファイルは,4.4で記述する拡張属性を記録することを示す。
9
ファイルは,ISO/IEC 9945-1で規定するFIFOファイルであることを示す。
10
ファイルは,ISO/IEC 9945-1で識別するC̲ISSOCKファイル種別に従って解釈することを
示す。
11
終端エントリ(4.9.8参照)であることを示す。
12
ファイルは,シンボリックリンクであり,内容がファイル又はディレクトリのパス名(4.3.7
参照)あることを示す。
3〜255 将来の標準化のための予備とする。
標準のバイトで番地付け可能なファイルには,値5を使用し,値0は使用しない。
参考 ファイル種別の解釈については,附属書6を参照すること。
4.9.6.7
親ICB位置 (RBP12) 親のICBの位置を指定する。この欄の値が0の場合,そのようなICBを
指定しないことを示す。
この欄の使用は,オプションとする。この欄を使用する場合,ICBを論理ブロック0に保持してはなら
ない。
4.9.6.8
フラグ (RBP18) 表4.13に示すファイルの記録情報を指定する。
45
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4.13 ファイルの特性
ビット
解釈
0〜2
3ビットの符号なし二進数として解釈する。値0は,短割付け記述子(4.9.14.1参照)を使用する
ことを示す。値1は,長割付け記述子(4.9.14.2参照)を使用することを示す。値2は,拡張割付
け記述子(4.9.14.3参照)を使用することを示す。値3は,割付け記述子欄の先頭から割付け記述
子欄の長さ分がファイルのエクステントとみなすことを示す。値4〜7は,将来の標準化のための
予備とする。
3
ファイルがディレクトリでない場合,このビットは将来の標準化のための予備とし,ZEROを設定
する。ファイルがディレクトリの場合,ONEはディレクトリを4.3.6.1に従ってソートすることを
示し,ZEROは4.3.6.1に従ってソートする必要のないことを示す。
4
ZEROの場合,ファイルのデータを指定する割付け記述子の変更に制限がないことを示す。
ONEの場合,ファイルのエクステントの番地又はエクステントの長さの縮小などの割付け記述子
の変更をしてはならないことを示す。
5
ファイルが作成又は書込みがされたときにONEとし,処理システムの方式に従ってZEROとする。
6
ISO/IEC 9945-1で規定するS̲ISUIDビットとして解釈する。
7
ISO/IEC 9945-1で規定するS̲ISGIDビットとして解釈する。
8
ISO/IEC 9945-1で規定するC̲ISVTXビットとして解釈する。
9
ONEの場合,ファイルのエクステントは,先行エクステントの最終論理ブロックの直後の論理ブ
ロックから開始する必要があることを示す。ZEROの場合,そのような必要はない。
10
このビットは,処理システム用の予備とする。
11
ZEROの場合,ファイルのデータ空間のバイトは利用者が供給したことを示す。ONEの場合,利
用者が供給したバイトを,この規格が規定しない方式に従って変換して記録したことを示す。
12
ファイルがディレクトリでない場合,このビットは将来の標準化のための予備とし,ZEROを設定
する。
ファイルがディレクトリの場合,ZEROはディレクトリ内のファイル識別記述子のファイル識別子
欄の内容が同一であるものは存在しないことを示し,ONEはファイル識別子欄の内容が同一であ
るファイル識別記述子が2個以上存在してもよいことを示す。
13〜15 将来の標準化のための予備とし,すべてのビットにZEROを設定する。
ビット3,11及び12は,ZEROを設定する。ビット4及び9は,ZEROを設定することが望ましい。
ビット6,7,8及び10については,附属書7を参照のこと。
4.9.7
間接エントリ 表4.14に示すフォーマットで記録する。
表4.14 間接エントリのフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(4.2.2参照)(タグ=259)
16
20
ICBタグ
icbtag(4.9.6参照)(種別=3)
36
16
間接ICB
long̲ad(4.9.14.2参照)
4.9.7.1
記述子タグ (BP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を259とする。
4.9.7.2
ICBタグ (BP16) この記述子に対するicbtag(4.9.6参照)のファイル種別欄の内容を3とする。
4.9.7.3
間接ICB (BP36) ほかのICBの番地を指定する。
4.9.8
終端エントリ 表4.15に示すフォーマットで記録する。
表4.15 終端エントリのフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(4.2.2参照)(タグ=260)
16
20
ICBタグ
icbta(4.9.6参照)(種別=
11)
4.9.8.1
記述子タグ (BP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を260とする。
4.9.8.2
ICBタグ (BP16) この記述子に対するicbtag(4.9.6参照)のファイル種別欄の内容を11とする。
4.9.9
ファイルエントリ 表4.16に示すフォーマットでICBに記録する直接エントリとする。
46
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4.16 ファイルエントリのフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(4.2.2参照)(タグ=261)
16
20
ICBタグ
icbtag(4.9.6参照)
36
4
利用者ID
Uint32(1.6.1.5参照)
40
4
グループID
Uint32(1.6.1.5参照)
44
4
許可条件
Uint32(1.6.1.5参照)
48
2
ファイルリンク数
Uint16(1.6.1.3参照)
50
1
レコードフォーマット
Uint8(1.6.1.1参照)=0
51
1
レコード表示属性
Uint8(1.6.1.1参照)=0
52
4
レコード長
Uint32(1.6.1.3参照)=0
56
8
情報長
Uint64(1.6.1.7参照)
64
8
記録済み論理ブロック数 Uint64(1.6.1.7参照)
72
12
アクセス日時
timestamp(1.6.3参照)
84
12
変更日時
timestamp(1.6.3参照)
96
12
属性日時
timestamp(1.6.3参照)
108
4
チェックポイント
Uint32(1.6.1.5参照)
112
16
拡張属性ICB
long̲ad(4.9.14.2参照)
128
32
処理システム識別子
regid(1.6.4参照)
160
8
一意ID
Uint64(1.6.1.7参照)
168
4
拡張属性の長さ
Uint32(1.6.1.5参照)
172
4
割付け記述子の長さ
Uint32(1.6.1.5参照)
176
L̲EA
拡張属性
バイト
L̲EA+176
L̲DA
割付け記述子
バイト
ファイルエントリの最大長は,1論理ブロック長とする。
4.9.9.1
記述子タグ (BP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を261とする。
4.9.9.2
ICBタグ (BP16) この記述子に対するicbtag(4.9.6参照)のファイル種別欄の内容は,4.9.6.6
の規定に従って記録する。
4.9.9.3
利用者ID (BP36) ファイル所有者の利用者IDを指定する。
利用者IDの概念をもたないオペレーティングシステムでは,処理システムは,この欄を無視する。利
用者IDの概念をもつオペレーティングシステムでは, (232−1) の値は無効な利用者IDと解釈し,その他
の値の場合,この欄は有効な利用者IDを含むと解釈する。
利用者が規定しない限り,利用者IDの概念をもたないオペレーティングシステムでは,処理システム
は,無効な利用者IDと解釈するための値 (232−1) をこの欄に設定する。
4.9.9.4
グループID (BP40) ファイル所有者のグループIDを指定する。
グループIDの概念をもたないオペレーティングシステムでは,処理システムは,この欄を無視する。
グループIDの概念をもつオペレーティングシステムでは, (232−1) の値は無効なグループIDと解釈し,
ほかの値の場合,この欄は有効なグループIDを含むと解釈する。
利用者が規定しない限り,グループIDの概念をもたないオペレーティングシステムでは,処理システ
ムは,無効なグループIDと解釈するための値 (232−1) をこの欄に設定する。
4.9.9.5
許可条件 (BP44) 下に示す欄のビット31の設定に従って利用者のクラス別に許可するファイ
ルのアクセス(表4.17参照)を指定する。
a) 利用者の利用者IDが,利用者ID欄と同じである場合,ビット10〜14を適用する。
b) a)以外で,利用者のグループIDが,グループID欄と同じ場合,ビット5〜9を適用する。
c) ほかは,ビット0〜4を適用する。
47
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4.17 許可条件
ビット
解釈
0
ZEROの場合,利用者はファイルを実行してはならないことを示す。
ONEの場合,利用者はファイルを実行してよいことを示す。
1
ZEROの場合,利用者はファイルに書込みしてはならないことを示す。
ONEの場合,利用者はファイルに書込みしてよいことを示す。
2
ZEROの場合,利用者はファイルを読み出してはならないことを示す。
ONEの場合,利用者はファイルを読み出してよいことを示す。
3
ZEROの場合,利用者はファイルの属性を変更してはならないことを示す。
ONEの場合,利用者はファイルの属性を変更してよいことを示す。
4
ZEROの場合,利用者はファイルを削除してはならないことを示す。
ONEの場合,利用者はファイルを削除してよいことを示す。
5
ビット0と同じ。
6
ビット1と同じ。
7
ビット2と同じ。
8
ビット3と同じ。
9
ビット4と同じ。
10
ビット0と同じ。
11
ビット1と同じ。
12
ビット2と同じ。
13
ビット3と同じ。
14
ビット4と同じ。
15〜31 予備とし,すべてのビットをZEROに設定する。
許可条件については,附属書8を参照のこと。
4.9.9.6
ファイルリンク数 (BP48) このICBを識別するファイル識別記述子の個数を指定する。
4.9.9.7
レコードフォーマット (BP50) 0を設定する。
4.9.9.8
レコード表示属性 (BP51) 0を設定する。
4.9.9.9
レコード長 (BP52) 0を設定する。
4.9.9.10 情報長 (BP56) ファイルに対する割付け記述子の情報長の和に等しい(4.3.8.2及び4.7参照)。
4.9.9.11 記録済み論理ブロック数 (BP64) ファイルに対して割付け記述子で指定した記録済み論理ブ
ロックの個数(4.7.1参照)。
4.9.9.12 アクセス日時 (BP72) このファイルエントリを記録する前に,ファイル作成又はファイルに読
出しアクセスを行った最新日時を指定する。
4.9.9.13 変更日時 (BP84) ファイルに対する書込みアクセス又はファイル作成の最新日時を指定する。
4.9.9.14 属性日時 (BP96) ファイルの属性を変更又はファイル作成の最新日時を指定する。
4.9.9.15 チェックポイント (BP108) ファイルの最初のインスタンスについて1を指定し,利用者が指
示する際に1だけ増加する。
4.9.9.16 拡張属性ICB (BP112) ファイルに対する拡張属性ファイルを記述するICBを指定する。
4.9.9.17 処理システム識別子 (BP128) ファイルエントリに対する割付け記述子の処理システム用欄が
ある場合,その内容を認識し,その内容に従って実行可能な処理システムの識別情報を指定する。この欄
がすべて#00バイトの場合,このような処理システムを識別しないことを示す。このregidの適用範囲は,
この記述子で記述するファイルの内容及び属性を規定する記述子の内容を含む。
実体識別子の節 (1.6.4) を参照のこと。
4.9.9.18 一意ID (BP160) ファイルに対する数値識別子を指定する。
48
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
ファイル集合のルートディレクトリに関しては,0を指定する。
この欄の値は,論理ボリューム中のすべてのファイル及びディレクトリに対して一意に保つ必要がある。
この一意性は,拡張属性空間で定義されたファイルエントリ記述子に対しても同様である。拡張属性空間
のファイルエントリは,その拡張属性が付いているファイルと同じ一意IDをもつ。
一意IDについては,附属書9を参照のこと。
4.9.9.19 拡張属性の長さ (=L̲EA) (BP168) 拡張属性欄の長さをバイト数で指定する。
4.9.9.20 割付け記述子の長さ (=L̲AD) (BP172) 割付け記述子欄の長さをバイト数で指定する。
4.9.9.21 拡張属性 (BP176) 拡張属性空間(4.4参照)を指定する。この記録済み拡張属性は,最大L̲EA
バイトを占め,使用しないバイトを#00に設定する。
ある拡張属性は.効率向上のためにファイルエントリのこの欄に記録する。ほかの拡張属性は,拡張属性
ICB欄で指定するICBに記録する。拡張属性の節 (4.9.10) では,この欄に記録する拡張属性について規定
する。
4.9.9.22 割付け記述子 (BP [L̲EA+176]) 4.7.1の規定に従って記録した割付け記述子列とする。未記録,
かつ未割付け(4.9.14.1.1参照)である割付け記述子は,エクステント位置欄に0を指定する。
4.9.10 拡張属性 拡張属性に関するファイルを4.9.10では現ファイルとする。
長さの変更が可能な幾つかの拡張属性を扱うために,次に示す規則を拡張属性空間に適用する。
a) 一つの論理ブロック以上の属性長をもつすべての拡張属性は,論理ブロック境界で開始し,論理ブロ
ック境界で終了するブロック列とする。
b) より短い拡張属性は,4バイト単位の属性長とする。
c) 拡張属性空間は,次に示す構成のうちの一つの連続論理空間を表す。
1) JIS X 0607の拡張属性
2) ブロック境界でない処理システム用拡張属性
3) ブロック境界の処理システム用拡張属性
4) 応用プログラム用拡張属性
4.9.10.1 拡張属性ヘッダ記述子 拡張属性ヘッダ記述子は,表4.18で示すフォーマットで記録する。
表4.18 拡張属性ヘッダ記述子のフォーマット
RBP
長さ
名前
内容
0
16
記述子タグ
tag (4.2.2) (タグ=262)
16
4
処理システム属性位置
Uint32(1.6.1.5参照)
20
4
応用プログラム属性位置 Uint32(1.6.1.5参照)
4.9.10.1.1 記述子タグ (RBP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を262とす
る。
4.9.10.1.2 処理システム属性位置 (RBP16) 処理システム用拡張属性の先頭を,ファイルの拡張属性を記
録する拡張属性空間の先頭からのバイトの相対位置で指定する。
4.9.10.1.3 応用プログラム属性位置 (RBP20) 応用プログラム用拡張属性の先頭を,ファイルの拡張属性
を記録する拡張属性空間の先頭からのバイトの相対位置で指定する。
備考 前述の処理システム属性位置欄及び応用プログラム属性位置欄に関連する属性が存在しない場
合,この欄の値は,拡張属性空間の最後を示す。
4.9.10.2 共通フォーマット 拡張属性は,表4.19で示すフォーマットで記録する。
49
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4.19 拡張属性の共通フォーマット
RBP
長さ
名前
内容
0
4
属性種別
Uint32(1.6.1.5参照)
4
1
属性副種別
Uint8(1.6.1.1参照)
5
3
予備
#00バイト
8
4
属性長 (=A̲L) Uint32(1.6.1.5参照)
12
A̲L−12 属性データ
バイト
4.9.10.2.1 属性種別 (RBP0) 拡張属性の種別を指定する。
4.9.10.2.2 属性副種別 (RBP4) 拡張属性の副種別を指定する。
4.9.10.2.3 予備 (RBP5) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.10.2.4 属性長 (=A̲L) (RBP8) 拡張属性の全体の長さを指定する。
4.9.10.2.5 属性データ (RBP12) この欄の解釈は,属性種別欄の値に従う。
4.9.10.3 文字集合情報 文字集合情報拡張属性は,表4.20に示すフォーマットで記録する。現ファイルの
内容を解釈するのに使う符号化文字集合を指定する。
表4.20 文字集合情報拡張属性のフォーマット
RBP
長さ
名前
内容
0
4
属性種別
Uint32(1.6.1.5参照)=1
4
1
属性副種別
Uint8(1.6.1.1参照)=1
5
3
予備
#00バイト
8
4
属性長
Uint32(1.6.1.5参照)
12
4
エスケープシーケンス長 (=ES̲L) Uint32(1.6.1.5参照)
16
1
文字集合種別
Uint8(1.6.1.1参照)
17
E̲SL エスケープシーケンス
バイト
4.9.10.3.1 属性種別 (RBP0) 1を指定する。
4.9.10.3.2 属性副種別 (RBP4) 1を指定する。
4.9.10.3.3 予備 (RBP5) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.10.3.4 属性長 (RBP8) 拡張属性の全体の長さを指定する。
4.9.10.3.5 エスケープシーケンス長 (=ES̲L) (RBP12) エスケープシーケンス欄の長さをバイト数で指
定する。
4.9.10.3.6 文字集合種別 (RBP16) 1.6.2.1.1で規定した文字集合種別を指定する。ただし,文字集合情報
欄(1.6.2.1.2参照)の代わりにエスケープシーケンス欄を使用する。
4.9.10.3.7 エスケープシーケンス (RBP17) ISO 2022及びJIS X 0221に従って一つ以上のエスケープシ
ーケンス,制御シーケンス又はエスケープ・制御両シーケンスを規定する。これらのシーケンスは,ISO 2022
又はJIS X 0211に従って8ビット環境でファイルの内容を解釈するのに使用する符号化文字集合を指定し,
暗黙的に呼び出す。これらのシーケンスは,その欄の先頭から連続的に記録し,未使用バイトは#00に設
定する。
4.9.10.4 代替許可条件 この拡張属性は,JIS X 0606のファイルアクセス許可条件を指定するものである
が,この規格ではこの拡張属性を記録しないこととする。
4.9.10.5 ファイル日時拡張属性 現ファイルに対する日時を表4.21に示すフォーマットで指定する。
50
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4.21 ファイル日時拡張属性のフォーマット
RBP
長さ
名前
内容
0
4
属性種別
Uint32(1.6.1.5参照)=5
4
1
属性副種別
Uint8(1.6.1.1参照)=1
5
3
予備
#00バイト
8
4
属性長
Uint32(1.6.1.5参照)
12
4
データ長 (=D̲L)
Uint32(1.6.1.5参照)
16
4
ファイル日時存在
Uint32(1.6.1.5参照)
20
D̲L ファイル日時
バイト
4.9.10.5.1 属性種別 (RBP0) 5を指定する。
4.9.10.5.2 属性副種別 (RBP4) 1を指定する。
4.9.10.5.3 予備 (RBP5) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.10.5.4 属性長 (RBP8) 拡張属性の全体の長さを指定する。
4.9.10.5.5 データ長 (=D̲L) (RBP12) ファイル日時存在欄で規定する日時を記録するために使うバイ
ト数を指定する。
4.9.10.5.6 ファイル日時存在 (RBP16) ファイル日時欄にどの日時を記録するかを表4.22に示すフォー
マットで指定する。ビットがZEROの場合,その日時を記録しない。ビットがONEの場合,その日時を
記録する。表4.22に規定しないビットは,将来の標準化のための予備とし,ZEROに設定する。
表4.22 ファイル日時存在
ビット
解釈
0
ファイル作成日時:ファイルを作成した日時。
2
ファイル削除可能日時:ファイルを削除してよい日時。このビットがZEROの場合,
利用者が要求しない限り,ファイルを削除しなくともよい。
3
ファイル実効日時:ファイルを使用してよい日時。このビットがZEROの場合,フ
ァイルはすぐに使用してよい。
5
ファイルバックアップ日時:ファイルを最後にバックアップした日時。
オペレーティングシステムごとのファイル日時存在欄の扱いについては,附属書10を参照のこと。
4.9.10.5.7 ファイル日時 (RBP20) ファイル日時存在欄で示す日時を,そのビット位置の昇順に
timestamp(1.6.3参照)として連続的に記録する。
オペレーティングシステムごとのファイル日時欄の扱いについては,附属書10を参照のこと。
4.9.10.6 情報日時拡張属性 現ファイル情報に対する日時を表4.23に示すフォーマットで指定する。
表4.23 情報日時拡張属性のフォーマット
RBP
長さ
名前
内容
0
4
属性種別
Uint32(1.6.1.5参照)=6
4
1
属性副種別
Uint8(1.6.1.1参照)=1
5
3
予備
#00バイト
8
4
属性長
Uint32(1.6.1.5参照)
12
4
データ長 (=
D̲L)
Uint32(1.6.1.5参照)
16
4
情報日時存在
Uint32(1.6.1.5参照)
20
D̲L
情報日時
バイト
4.9.10.6.1 属性種別 (RBP0) 6を指定する。
4.9.10.6.2 属性副種別 (RBP4) 1を指定する。
4.9.10.6.3 予備 (RBP5) 将来の標準化用のための予備とし,すべてのバイトを#00に設定する。
51
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.9.10.6.4 属性長 (RBP8) 拡張属性の全体の長さを指定する。
49.10.6.5 データ長 (=D̲L) (RBP12) 情報日時存在欄で規定する日時を記録するために使うバイト数を
指定する。
4.9.10.6.6 情報日時存在 (RBP16) 情報日時欄にどの日時を記録するかを表4.24に示すフォーマットで
指定する。
表4.24 情報日時存在
ビット
解釈
0
情報作成日時:情報を作成した日時。
1
情報更新日時:情報を最後に更新した日時。
2
情報満了日時:情報を廃棄してよい日時。このビットがZEROの場合,利用者が
要求しない限り,情報を廃棄しなくともよい。
3
情報実効日時:情報を使用してよい日時。このビットがZEROの場合,情報をす
ぐ使用してよい。
4.9.10.6.7 情報日時 (RBP20) 情報日時存在欄で示す日時を,そのビット位置の昇順にtimestamp(1.6.3
参照)として連続的に記録する。
4.9.10.7 装置仕様 媒体の作成者と受領者との間の同意した装置を表4.25に示すフォーマットで指定す
る。
表4.25 装置仕様拡張属性のフォーマット
RBP
長さ
名前
内容
0
4
属性種別
Uint32(1.6.1.5参照)=12
4
1
属性副種別
Uint8(1.6.1.1参照)=1
5
3
予備
#00バイト
8
4
属性長
Uint32(1.6.1.5参照)
12
4
処理システム用の長さ (=IU̲L) Uint32(1.6.1.5参照)
16
4
主装置識別情報
Uint32(1.6.1.5参照)
20
4
副装置識別情報
Uint32(1.6.1.5参照)
24
IU̲L 処理システム用
バイト
4.9.10.7.1 属性種別 (RBP0) 12を指定する。
4.9.10.7.2 属性副種別 (RBP4) 1を指定する。
4.9.10.7.3 予備 (RBP5) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.10.7.4 属性長 (RBP8) 拡張属性の全体の長さを指定する。
4.9.10.7.5 処理システム用の長さ (=IU̲L) (RBP12) 処理システム用欄の長さをバイト数で指定する。
4.9.10.7.6 主装置識別情報 (RBP16) 媒体の作成者と受領者との間の同意で決定する。
4.9.10.7.7 副装置識別情報 (RBP20) 媒体の作成者と受領者との間の同意で決定する。
4.9.10.7.8 処理システム用 (RBP24) IU̲Lが0より大きい場合,最初の32バイトにregid形式で処理シ
ステムの識別情報を指定する。処理システムは,残りの領域の内容を認識でき,その内容に従って実行で
きる。
次に示す例は,ファイルに関連する装置仕様拡張属性を作成する処理システムに従う。
a) ファイルが関連する装置仕様拡張属性をもつ場合,icbtag構造中のファイル種別欄の内容は,値6(ブ
ロック特殊装置ファイルを示す。)又は値7(文字特殊装置ファイルを示す。)を指定する。
b) icbtag構造中のファイル種別欄の内容が値6又は値7でない場合,ファイルに関連する装置仕様拡張
属性は無視する。
c) icbtag構造中のファイル種別欄内容が値6又は値7に等しく,ファイルに関連する装置仕様拡張属性
52
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
がない場合,ファイルヘのアクセスは拒否する。
d) ブロック特殊装置ファイルに関連する解釈方法を規定しないオペレーティングシステム環境において,
関連する装置仕様拡張属性をもつファイルヘのopen/read/write/close要求は拒否する。
e) 処理システムは,現状の処理システムを識別するdeveloperIDを処理システム用欄に記録する。
4.9.10.8 処理システム用拡張属性 表4.26に示すフォーマットで記録する。
表4.26 処理システム用拡張属性のフォーマット
RBP
長さ
名前
内容
0
4
属性種別
Uint32(1.6.1.5参照)=2048
4
1
属性副種別
Uint8(1.6.1.1参照)=1
5
3
予備
#00バイト
8
4
属性長
Uint32(1.6.1.5参照)
12
4
処理システム用の長さ (=IU̲L) Uint32(1.6.1.5参照)
16
32
処理システム識別子
regid(1.6.4参照)
48
IU̲L 処理システム用
バイト
4.9.10.8.1 属性種別 (RBP0) 2048を指定する。
4.9.10.8.2 属性副種別 (RBP4) 1を指定する。
4.9.10.8.3 予備 (RBP5) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.10.8.4 属性長 (RBP8) 拡張属性の全体の長さを指定する。
処理システム用拡張属性の使用を定義する可変長の拡張属性に関して,属性長欄には,処理システム用
欄の最後と処理システム用拡張属性の最後との間に埋込み空間を残すのに,十分な大きさを指定する。
4.9.10.8.5 処理システム用の長さ (=IU̲L) (RBP12) 処理システム用欄の長さを指定する。
4.9.10.8.6 処理システム識別子 (RBP16) 処理システム用欄の内容を認識し,その内容に従って実行可能
な処理システムの識別情報を指定する。この欄の内容がすべて#00バイトの場合,処理システムを識別し
ないことを示す。このregidの適用範囲は,現ファイルの内容及び属性を規定する記述子の内容を含む。
4.9.10.8.7 処理システム用 (RBP48) 処理システム用に確保する。
オペレーティングシステムごとの処理システム用拡張属性については,附属書11を参照のこと。
備考 すべての適合する処理システムでは,媒体中の既存の拡張属性を保存しなければならない。処
理システムは,動作中のオペレーティングシステムに関する拡張属性を作成し,利用可能にし
なければならない。例えば,Macintosh処理システムでは,媒体中に存在するOS/2拡張属性を
保存し,この規格で規定するすべてのMacintosh拡張属性を作成し,利用可能にしなければな
らない。
4.9.10.9 応用プログラム用拡張属性 表4.27に示すフォーマットで記録する。
表4.27 応用プログラム用拡張属性のフォーマット
RBP
長さ
名前
内容
0
4
属性種別
Uint32(1.6.1.5参照)=65536
4
1
属性副種別
Uint8(1.6.1.1参照)=1
5
3
予備
#00バイト
8
4
属性長
Uint32(1.6.1.5参照)
12
4
応用プログラム用の長さ (=AU̲L) Uint32(1.6.1.5参照)
16
32
応用プログラム識別子
regid(1.6.4参照)
48
AU̲L 応用プログラム用
バイト
4.9.10.9.1 属性種別 (RBP0) 65536を指定する。
4.9.10.9.2 属性副種別 (RBP4) 1を指定する。
53
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.9.10.9.3 予備 (RBP5) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.10.9.4 属性長 (RBP8) 拡張属性の全体の長さを指定する。
応用プログラム用拡張属性の使用を定義する可変長の拡張属性に対して,属性長欄には,応用プログラ
ム用欄の最後と応用プログラム用拡張属性の最後との間に埋込み空間を残すのに,十分な大きさを指定す
る。
4.9.10.9.5 応用プログラム用の長さ (=AU̲L) (RBP12) 応用プログラム用欄の長さを指定する。
4.9.10.9.6 応用プログラム識別子 (RBP16) 応用プログラム用欄の内容を識別する応用プログラム識別
子を指定する。この欄の内容がすべて#00バイトの場合,応用プログラムを識別しないことを示す。この
regidの適用範囲は,現ファイルの内容及び属性を規定する記述子の内容を含む。
4.9.10.9.7 応用プログラム用 (RBP48) 応用プログラム用に確保する。
オペレーティングシステムごとの応用プログラム用拡張属性については,附属書12を参照のこと。
備考 すべての適合する処理システムでは,媒体中の既存の拡張属性を保存しなければならない。処
理システムは,動作中のオペレーティングシステムに対する拡張属性を作成し,利用可能にし
なければならない。例えば,Macintosh処理システムでは,媒体中に存在するOS/2拡張属性を
保存し,この規格で規定するすべてのMacintosh拡張属性を作成し,利用可能にしなければな
らない。
4.9.11 未割付け空間エントリ 表4.28に示すフォーマットでICB内に記録する直接エントリとする。
表4.28 未割付け空間エントリのフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(4.2.2参照)(タグ=263)
16
20
ICBタグ
icbtag(4.9.6参照)(種別=1)
36
4
割付け記述子の長さ (=L̲AD) Uint32(1.6.1.5参照)
40
L̲AD 割付け記述子
バイト
未割付け空間エントリの最大長は,1論理ブロック長とする。
4.9.11.1 記述子タグ (BP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を263とする。
4.9.11.2 ICBタグ (BP16) この記述子に対するicbtag(4.9.6参照)のファイル種別欄の内容を1とする。
4.9.11.3 割付け記述子の長さ (=L̲AD) (BP36) 割付け記述子欄の長さをバイト数で指定する。
4.9.11.4 割付け記述子 (BP40) 割付け記述子の種別は,ICBタグ欄(4.9.6.8参照)のフラグ欄に従う。
未割付け空間エントリの割付け記述子は,短割付け記述子だけを使用する。
備考 割付け記述子中のエクステント長欄の上位2ビットは,エクステント種別(4.9.14.1.1を参照)
を指定する。未割付け空間エントリで規定する割付け記述子に関して,この種別は,割り付け
てはいるが未記録であるエクステントを示す値1又はエクステントが割付け記述子の後続エク
ステントであることを示す値3を指定する。割付け記述子の後続エクステントは,1論理ブロ
ック長に制限する。
割付け記述子は,位置の昇順に連続的に並べる。それぞれの割付け記述子の重複は許さない。
例えば,位置=2,長さ=2048(論理ブロック長=1024)の割付け記述子の次が,位置=3の割
付け記述子であることは許されない。隣接する割付け記述子が続いてはならない。例えば,位
置=2,長さ=1024(論理ブロック長=1024)の割付け記述子の次が,位置=3の割付け記述子
であってはならず,位置=2,長さ=2048の一つの割付け記述子でなければならない。隣接す
る割付け記述子が続いてもよい唯一の場合は,どちらか一方の隣接する割付け記述子の長さが,
54
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
割付け記述子で記述可能な最大値のときとする。
4.9.12 空間ビットマップ記述子 区画中のすべての論理ブロックに対するビットを指定し,表4.29に示
すフォーマットで記録する。
表4.29 空間ビットマップ記述子のフォーマット
BP
長さ
名前
内容
0
16
記述子タグ
tag(4.2.2参照)(タグ=264)
16
4
ビット数 (=N̲BT)Uint32(1.6.1.5参照)
20
4
バイト数 (=N̲B) Uint32(1.6.1.5参照)
24
N̲B ビットマップ
バイト
4.9.12.1 記述子タグ (BP0) この記述子に対するtag(4.2.2参照)のタグ識別子欄の内容を264とする。
空間ビット.マップ記述子に関する記述子タグの記述子CRC欄の計算及び保持は,オプションとする。
CRCをメンテナンスできない場合,記述子CRC欄及び記述子CRC長欄の両方を0に設定する。
4.9.12.2 ビット数 (=N̲BT) (BP16) ビットマップ欄の有効なビットの個数を指定する。
4.9.12.3 バイト数 (=N̲B) (BP20) ビットマップ欄のバイトの個数を指定する。
4.9.12.4 ビットマップ (BP24) 区画中の各々の論理ブロックに対するビットを指定する。
4.9.13 区画保全エントリ この規格では,区画保全エントリを使用しない。
4.9.14 割付け記述子 ファイルのデータ領域を構成するとき,処理システムは,選択対象の幾つかの種別
の割付け記述子をもつ。使用する適切な割付け記述子の選択に必要となる指針を,次に示す。
a) 短割付け記述子 単一ボリュームを超えて論理ボリュームを拡張する予定のない単一ボリューム中に
存在する論理ボリュームに関して,短割付け記述子を使用する。例えば,独立した装置で作成した論
理ボリューム。
備考 交換最大水準の3.5.1.8を参照のこと。
b) 長割付け記述子 単一ボリュームを超えて論理ボリュームを後で拡張する予定の単一ボリュームが存
在する論理ボリューム又は複数ボリュームに存在する論理ボリュームに関して,長割付け記述子を使
用する。例えば,集合型装置で使うために作成した論理ボリューム。
備考 単一ボリューム中でも長割付け記述子を使用する利点はある。この利点は,書換形媒体中の消
去したエクステントの追跡を利用可能とすることである。付加情報については,4.9.14.2.3を参
照のこと。
短割付け記述子と長割付け記述子の両方に関して,エクステント長欄の下位30ビットが0であれば,上
位2ビットはZEROでなければならない。
4.9.14.1 短割付け記述子 short̲adで表し,表4.30に示すフォーマットで記録する。
表4.30 短割付け記述子のフォーマット
RBP 長さ
名前
内容
0
4
エクステント長
Uint32(1.6.1.5参照)
4
4
エクステント位置 Uint32(1.6.1.5参照)
4.9.14.1.1 エクステント長 (RBP0) 下位の30ビットは,エクステントの長さをバイト数で指定する。特
記しない限り,その長さは,論理ブロック長の整数倍とする。上位の2ビットは,2ビットの符号なし数
値としてエクステントの種別を表し,その内容を表4.31に示す。
55
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
表4.31 エクステントの解釈
値
解釈
0
エクステントは,割付け済みで記録済みであることを示す。
1
エクステントは,割付け済みであるが未記録であることを示す。
2
エクステントは,未割付けで未記録であることを示す。
3
エクステントは,続きの割付け記述子(4.7参照)のエクステントであることを示す。
4.9.14.1.2 エクステント位置 (RBP4) この短割付け記述子を記録する区画中のエクステントの論理ブロ
ック番号を指定する。エクステント長が0の場合,エクステントを指定しないことを示し,この欄には0
を指定する。
4.9.14.2 長割付け記述子 long̲adで表し,表4.32に示すフォーマットで記録する。
表4.32 長割付け記述子のフォーマット
RBP 長さ
名前
内容
0
4
エクステント長
Uint32(1.6.1.5参照)
4
6
エクステント位置 lb̲addr(4.2.1参照)
10
6
処理システム用
バイト
4.9.14.2.1 エクステント長 (RBP0) 4.9.14.1.1に従って記録する。
4.9.14.2.2 エクステント位置 (RBP4) エクステントの論理ブロック番号を指定する。エクステント長が
0の場合,エクステントを指定しないことを示し,この欄には0を指定する。
4.9.14.2.3 処理システム用 (RBP10) 処理システム用に確保する。
この規格及び処理システムの両方に処理システム用欄の使用を許可するために,6バイトの処理システ
ム用欄の中に次の構造を記録する。
表4.33 処理システム用欄の構造
RBP 長さ
名前
内容
0
2
フラグ
Uint16(1.6.1.3参照)
2
4
処理システム用
バイト
表4.34 フラグ
ビット
解釈
0
書換形媒体についての前処理の効率化のために,消去されたエクステントであること
を示すONEを設定する。これは,割り付けたが未記録であるエクステントだけに使用
する。
1〜15 将来の標準化のための予備とし,ZEROを設定する。
4.9.14.3 拡張割付け記述子 この規格では,拡張割付け記述子を使用しない。
4.9.15 論理ボリュームヘッダ記述子 ファイル及びディレクトリの数値識別子を指定し,表4.35に示す
フォーマットで記録する。
表4.35 論理ボリュームヘッダ記述子のフォーマット
RBP
長さ
名前
内容
0
8
一意ID Uint64(1.6.1参照)
8
24
予備
#00バイト
4.9.15.1 一意ID (RBP0) 関連する論理ボリューム中に記録するすべてのファイルエントリ中の一意ID
欄の値より大きい値を指定する。
この欄は,次の段階で使用する一意IDの値を含む。
備考 Int32の最大値 (231−1) より小さい値でなければならない。
56
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.9.15.2 予備 (RBP8) 将来の標準化のための予備とし,すべてのバイトを#00に設定する。
4.9.16 パス名 パス名の最大長は,1023バイトとする。
4.9.16.1 パス要素 表4.36に示すフォーマットで記録する。
表4.36 パス要素のフォーマット
RBP 長さ
名前
内容
0
1
要素種別
Uint8(1.6.1.1参照)
1
1
要素識別子の長さ (=L̲CI) Uint8(1.6.1.1参照)
2
2
要素ファイル版数
Uint16(1.6.1.3参照)=1
4
L̲CI 要素識別子
d文字(1.6.2参照)
4.9.16.1.1 要素種別 (RBP0) 表4.37に示す要素種別を指定する。
表4.37 要素種別
種別
解釈
0
将来の標準化のための予備とする。
1
L̲CIが0でない場合,要素は,媒体の作成者と受領者との合意に基づくディレクト
リ階層のルートを指定することを示す。
L̲CIが0の場合,要素は,ISO/IEC 9945-1で規定するファイルシステムのルートを
指定することを示す。
2
要素は,パス名の先頭要素に先行するものがメンバであるディレクトリ階層のルー
トディレクトリであることを示す。
3
要素は,先行要素の親ディレクトリであることを示す。
4
要素は,先行要素と同一のディレクトリであることを示す。
5
要素は,先行要素が識別するディレクトリ中の記述子で指定するファイル,ディレ
クトリ又は別名であることを示す。それらのディレクトリ記述子のファイル識別子
欄は,要素識別子欄の内容と同一である。
6〜255 将来の標準化のための予備とする。
4.9.16.1.2 要素識別子の長さ (=L̲CI) (RBP1) 要素種別欄が1又は5である場合,要素識別子欄の長さ
をバイト数で指定する。要素種別欄が5の場合,L̲CIは0より大きくなければならない。要素種別欄が1
でも5でもない場合,この欄には0を設定する。
4.9.16.1.3 要素ファイル版数 (RBP2) 次のとおり,要素のファイル版数を指定する。
この欄が0の場合,要素識別子欄で識別する実体の各インスタンスの最大のファイル版数を識別するこ
とを示す。
この欄が1〜32767の場合,この欄は要素識別子欄で識別する実体のファイル版数を指定する。32768〜
65535は,将来の標準化のための予備とする。
要素識別子欄で識別する実体がディレクトリである場合,この欄には0を設定する。
この規格では,この欄には値0を設定する。
4.9.16.1.4 要素識別子 (RBP4) 要素を識別する。
4.10 媒体交換の水準 第4章は,媒体交換の水準3を規定する。水準3には,制約がない。
4.11 システム記述に対する要件 第4章は,ある情報を利用者と処理システムとの間で受け渡すことを
規定する。
4.12 作成システムに対する要件
4.12.1 一般 処理システムは,4.10で規定した媒体交換水準の一つに従って,ボリューム集合中の4.9で
規定したすべての記述子及びファイル集合を記録できなければならない。
処理システムは,文字集合(1.6.2.3参照)のリストを記録できなければならない。そのリストでは,文
57
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
字集合種別CS2に対するビットをONEに設定しなければならない。
regid(1.6.4参照)の適用範囲の情報を更新した結果,今までどおりにregid中の識別情報によって同意
していたrcgidの適用範囲で記録した情報を,処理システムが保証できなくなった場合は,処理システム
は,regid中のフラグ欄の不正ビットをセットし,regidの識別子欄を変更してはならない。
範囲をファイル集合記述子で識別し,そのファイル集合を更新した結果,今までどおりに範囲識別子に
よって同意していたファイル集合を,処理システムが保証できなくなった場合は,処理システムは,不正
ビット(1.6.4.1参照)をONEに設定し,範囲識別子欄にすべて#00バイトを設定してよい。
4.12.2 利用者による不可欠アクセス
4.12.2.1 ファイル 処理システムは,記録するファイル集合の構成情報を利用者から得なければならない。
4.12.2.2 ファイル集合 処理システムは,利用者が論理ボリューム上で使用するファイル集合を指定する
ことを許さなければならない。
利用者が使用するファイル集合を指定せずに論理ボリュームを指定する場合,処理システムは,ファイ
ル集合番号0をもつファイル集合記述子によって記述するファイル集合を使用しなければならない。
4.12.2.3 記述子 処理システムは,次に示す記述子の各欄に記録する情報を利用者が供給することを許さな
ければならない。利用者がいずれかの欄の情報を供給しない場合には,処理システムがそれを供給しなけ
ればならない。
a) ファイル集合記述子
1) 交換最大水準
2) 文字最大集合リスト
3) ファイル集合番号
4) 論理ボリューム識別子用文字集合
5) 論理ボリューム識別子
6) ファイル集合識別子
7) 著作権ファイル識別子
b) ファイル識別記述子
1) ファイル版数
2) ファイル特性
3) ファイル識別子
処理システムは,利用者から要求されない限り,次に示す記述子の各欄に記録した情報を変更してはな
らない。
a) ファイル集合記述子の交換最大水準欄
b) ファイル集合記述子の文字最大集合リスト欄
c) regid(1.6.4参照)欄のビット0及びビット1
d) ファイルエントリのフラグ欄の連続ビット
e) ファイルエントリのフラグ欄の再配置不可ビット
f)
ディレクトリ記述子のファイル特性欄の存在ビット
4.12.3 利用者による任意アクセス 次に示す記述子の各欄に記録する情報を利用者が供給することを処
理システムが許す場合,利用者が供給したそれらの情報を処理システムが記録しなければならない。利用
者による欄の情報の供給がない場合には,処理システムがその情報を供給しなければならない。
a) ファイル集合記述子
58
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
1) 文字集合リスト
2) ファイル集合用文字集合
3) 抄録ファイル識別子
4) 範囲識別子
b) ファイルエントリ
1) 利用者ID
2) グループID
3) 許可条件
4) 情報長
5) アクセス日時
6) 変更日時
7) 属性変更日時
8) チェックポイント
c) 拡張属性
1) 属性種別
2) 属性副種別
3) 属性データ
4.12.3.1 レコード 処理システムは,ファイル構成情報をレコード列として解釈する指定を,利用者に許
可してはならない。
4.12.3.2 ファイル種別 ファイルをISO/IEC 9945-1で規定するブロック専用装置,ISO/IEC 9945-1で規
定する文字専用装置,ISO/IEC 9945-1で規定するFIFOファイル又はISO/IEC 9945-1によって識別する
C̲ISSOCKファイル種別に従って解釈する指定を,処理システムが利用者に許可する場合,利用者が供給
するファイル属性を処理システムが記録しなければならない。利用者がファイル属性を供給しない場合は,
それらの属性を処理システムが記録してはならない。
4.12.3.3 許可条件 処理システムは,4.9.9.5と4.9.10.4とのどちらか一方又は両方に従ったファイル及び
ディレクトリに対するアクセスを提供しなければならない。しかし,処理システムの保護方式がこれらの
方式と互換性がないとき,処理システムは,そのようなアクセスを提供しなくともよい。
4.12.4 制限
4.12.4.1 複数ボリュームのボリューム集合 ボリューム順序番号mのボリューム集合中に情報を記録し
た後は,処理システムに対し,ボリューム順序番号nを割り当てたボリューム集合中のボリュームに情報
を記録する要求を行ってはならない (1≦n<m)。
ボリューム順序番号nを割り当てたボリューム集合中のボリュームに情報を記録できる十分な空間があ
る場合,処理システムに対し,ボリューム順序番号m+1を割り当てたボリューム集合中のボリュームに情
報を記録する要求を行ってはならない (1≦m≦n)。
4.12.4.2 ファイル日時 ファイル日時拡張属性をファイルに対して記録しない場合,処理システムは,フ
ァイル日時拡張属性のファイル日時存在欄に0の値を記録したものとして動作しなければならない。
4.12.4.3 情報日時 情報日時拡張属性をファイルに対して記録しない場合,処理システムは,情報日時拡
張属性の情報日時存在欄に0の値を記録したものとして動作しなければならない。
4.13 受領システムに対する要件
59
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.13.1 一般 処理システムは,4.10で規定した媒体交換水準の一つに従って記録するボリューム集合から,
ファイル及び4.9で規定した記述子を読み出せなければならない。
利用者が使用するファイル集合を指定せずに論理ボリュームを指定する場合,処理システムは,ファイ
ル集合番号0をもつファイル集合記述子が記述するファイル集合を使用しなければならない。
4.13.2 ファイル 処理システムは,記録したファイル構成情報を利用者が利用可能にしなければならない。
4.13.2.1 ファイル種別 ファイルをISO/IEC 9945-1で規定するブロック専用装置,ISO/IEC 9945-1で規
定する文字専用装置,ISO/IEC 9945-1で規定するFIFOファイル又はISO/IEC 9945-1によって識別する
C̲ISSOCKファイル種別に従って解釈する指定を,処理システムが利用者に許可する場合,処理システム
はファイルの属性を利用者が利用可能としなければならない。
4.13.2.2 許可条件 処理システムは,4.9.9.5に従ったファイル及びディレクトリに対するアクセスを提供
しなければならない。しかし,処理システムの保護方式がこれらの方式と互換性がないとき,処理システ
ムは,そのようなアクセスを提供しなくともよい。
4.13.3 利用者による不可欠アクセス 処理システムは,利用者が要求したファイルの位置を求めたり,そ
れらのファイルが記録されたボリュームの位置を求めることを可能にする十分な情報を利用者が供給する
ことを許さなければならない。
4.13.3.1 記述子 処理システムは,次に示す記述子の各欄に記録された情報へのアクセスを利用者に許さ
なければならない。
a) ファイル集合記述子
1) 交換最大水準
2) 文字最大集合リスト
3) ファイル集合ID
4) 著作権ファイル識別子
5) 範囲識別子
b) ファイル識別子記述子
1) ファイル版数
2) ファイル特性
3) ファイル識別子
4.13.4 制限
4.13.4.1 ファイル日時 ファイル日時拡張属性がファイルに対して記録されない場合,処理システムはフ
ァイル日時拡張属性のファイル日時存在欄に0の値を記録したものとして動作しなければならない。
4.13.4.2 情報日時 情報日時拡張属性がファイルに対して記録されない場合,処理システムは情報日時拡
張属性の情報日時存在欄に0の値を記録したものとして動作しなければならない。
60
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書1(規定) UDF識別子及び範囲識別子
この規格で定義する実体識別子(UDF識別子及び範囲識別子)の識別子を附属書1表1に示す。 “*OSTA
UDF Compliant” を範囲識別子とし,その他の識別子をUDF識別子とする。
附属書1表1 実体識別子の中の識別子
識別子
記述
“*OSTA UDF Compliant”
論理ボリューム規定の内容又はファイル集合の内容が,この規格で定義
する適合範囲であることを示す。
“*UDF LV Info”
付加的な論理ボリューム識別情報を含む。
“*UDF FreeEASpace”
処理システム用拡張属性空間中の空きの未使用空間を含む。
“*UDF FreeAppEASpace”
アプリケーション用拡張属性空間中に空きの未使用空間を含む。
“*UDF DVD CGMS Info”
DVD著作権管理情報を含む。
“*UDF OS/2 EA”
OS/2拡張属性データを含む。
“*UDF OS/2 EALength”
OS/2拡張属性長を含む。
“*UDF Mac VolumeInfo”
Macintoshボリューム情報を含む。
“*UDF Mac FinderInfo”
Macintoshファインダ情報を含む。
“*UDF Mac UniqueIDTable”
1個の一意IDと1個のファイルエントリとの対応に使用するMacmtosh
の一意ID表を含む。
“*UDF Mac ResourceFork”
Macmtoshリソースフォーク情報を含む。
61
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書2(規定) オペレーティングシステム識別子
実体識別子の識別子添字中のOSクラス欄及びOS識別子欄に対して,現状許可する値を次に示す。
OSクラス欄は,記述子を記録したオペレーティングシステム (OS) のクラスを識別する。この欄の有効
な値は,附属書2表1のとおりとする。
附属書2表1 OSクラス欄の値
値
オペレーティング
システムクラス
0
未定義
1
DOS
2
OS/2
3
Macintosh OS
4
UNIX
5〜255
予備
OS識別子欄は,記述子を記録したオペレーティングシステムを識別する。この欄の有効な値は,附属
書2表2のとおりとする。
附属書2表2 OS識別子欄の値
OSクラス OS識別子 認識するオペレーティングシステム
0
任意の値 未定義
1
0
DOS
2
0
OS/2
3
0
Macintosh OS
4
0
UNIX-Generic
4
1
UNIX-IBM AIX
4
2
UNIX-SUN Solaris
4
3
UNIX-HP/UX
4
4
UNIX-Silicon Graphics Irix
OSクラス及びOS識別子に関する値の最新の表については,OSTAに連絡し,UDF実体識別子ディレク
トリのコピーを要求されたい。このディレクトリには,必す(須)情報をOSTAへ提供したISVsの処理
システム識別子も含まれる。
62
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書3(規定) ファイル特性
各種のオペレーティングシステムでのファイル特性の使用法を,次に示す。
1. MS-DOS, OS/2, Macintosh
a) 意味
ビット0がONEの場合,隠しファイルと解釈する。
ビット1がONEの場合,ディレクトリファイルと解釈する。
ビット2がONEの場合,削除ファイルと解釈する。
ビット3がONEの場合,関連するファイル識別子構造中のICB欄は,この記述子に記録する
ディレクトリの親ディレクトリを識別していると解釈する。
b) 設定値 隠しファイルを示す場合,ビット0にONEを指定する。
ディレクトリファイルを示す場合,ビット1にONEを指定する。
削除ファイルを示す場合,ビット2にONEを指定する。
2. UNIX UNIXで,隠しファイルを普通の隠しファイルでないものとして処理することを除けば,これ
らのビットは附属書3の1.の規定と同様に処理する。
63
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書4(参考) ファイル識別子の翻訳
ほとんどのオペレーティングシステムは,正当なファイル識別子の特性に関するそれ自体の規定がある
ので,これが交換に伴う問題となる。すべての処理システムが,ファイル識別子翻訳の何らかの方式を実
行しなければならないので,それらの処理システムが同一アルゴリズムを使用すれば,それは利用者にと
って有益である。
ファイル識別子翻訳の問題は,次の一つ以上に分類される。
a) 名前長 ほとんどのオペレーティングシステムは,ファイル識別子の長さに,ある決まった制限があ
る。
b) 無効文字 ほとんどのオペレーティングシステムは,ファイル識別子の中に不当と考えられる文字が
ある。
c) 表示可能文字 この規格がUnicode文字集合を利用可能にするので,ファイル識別子中の文字が,受
領システムで表示可能でないものも含んでいることもある。
d) 大文字と小文字との区別 幾つかのオペレーティングシステムは,ファイル識別子に関して大文字及
び小文字の区別を行わない。例えば,OS/2はファイルを作成するとき,ファイル識別子の元の状態を
保存するが,ファイル識別子にアクセスしているとき,大文字及び小文字を区別しない操作を使用す
る。OS/2では, “Abc” 及び “ABC” は同一ファイル名である。
e) 予約名 幾つかのオペレーティングシステムには,ファイル識別子名に使用できない名前がある。
附属書4の1.〜4.は,この規格で扱う各特定オペレーティングシステムに対するファイル識別子の翻訳
アルゴリズムを示す。適合処理システムは,このアルゴリズムを使用する。このアルゴリズムは,不当な
ファイル識別子を読み出した場合だけに適用する。媒体中の元のファイル識別子名は,変更してはならな
い。このアルゴリズムは,オペレーティングシステムのファイル識別子制限に合致させるために,ファイ
ル識別子の翻訳方式を実行する処理システムに適用する。
適合処理システムは,UDF翻訳アルゴリズムを利用可能とするが,追加アルゴリズムを利用可にしても
よい。複数のアルゴリズムを利用可能にする場合,処理システムの利用者に,UDF翻訳アルゴリズムの選
択方法を提供しなければならない。デフォルトの表示可能アルゴリズムは,この規格が定義するアルゴリ
ズムであることを推奨する。
これらのアルゴリズムの主目的は,ファイルが属するディレクトリのすべてを調べずに,固有のオペレ
ーティングシステムの制限に適合する一意のファイル名を作成することにある。
備考 アルゴリズムの定義では,常に,d文字は引用符中に指定され,Unicodeの16進の数値が指定
される。このアルゴリズムは,CS0の16進表示を参照する。これは,16進数で値を表すのに
Unicodeの値#0030〜#0039及び#0041〜#0046を使用することに相当する。
アルゴリズムでは,処理システムの利用者に名前の重複を報告する結果となることもある。その理由は,
利用者に(ファイルの名前変更によって)ディレクトリ中のどんなファイルヘのアクセスも可能とする一
方で,ディレクトリの内容への効率的なアクセスと論理ボリュームマウント及びファイルシステムドライ
バ処理システムにまたがって一貫した名前の翻訳とに関する必要性にある。
定義 ファイル識別子は,ファイル名及びファイル拡張子の二つの部分で構成するものとする。
文字 “.” (#002E) は,ファイルのファイル識別子に関する分離子とする。最後の “.” (#002E) に
続く文字数が5文字以下の場合,それはファイル拡張子を構成する。5文字を超える場合,ファ
64
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
イル拡張子は存在しないものとする。ファイル拡張子に先行して現れ,最後の “.” (#002E) を除
いた文字は,ファイル名を構成する。
備考 たとえOS/2,Macintosh及びUNIXが,ファイル拡張子の概念を形式的にもたないとしても,1
文字から5文字の拡張子がその後に続く “.” でもってファイルを終えることが,共通のファイ
ル命名規則である。そのため,次のアルゴリズムでは,ファイル拡張子は最大5文字までとし
ている。
1. MS-DOS MS-DOSオペレーティングシステム環境が,ファイルに関連するファイル識別子に制限を
強いる。そこで,前述のオペレーティングシステム環境でファイル識別子を扱うために,次に示す方法を
使用する。
制限 ファイル識別子のファイル名要素は,8文字を超えない。ファイル識別子のファイル拡張子要素
は,3文字を超えない。
a) ファイル識別子の照合 ファイル識別子の“照合”に対する要求に,大文字及び小文字を区別しない
比較を実行する。
b) ファイル識別子の有効性確認 ファイル識別子が有効なMS-DOSファイル識別子である場合,次の段
階は適用しない。
c) スペースの除去 識別子中のすべての埋込みスペースは,削除する。
d) 無効文字 (先に定義した)ファイル名中の無効文字若しくはファイル拡張子中の無効文字,又は現
状の環境で表示不可能な文字を含むファイル識別子は,これらを “̲” (#005F) に翻訳する(媒体中の
ファイル識別子は,変更しない。)。複数の連続する無効文字,又は表示不可能な文字は,1文字の “̲”
(#005F) に翻訳する。
e) 先行終止符 最初の “.” (#002E) 文字の前に文字が存在しない場合,このヒューリスティックなアプ
リケーションでは,先行する “.” (#002E) を,最初の “.” (#002E) でない文字まで無視する。
f)
複数終止符 複数の “.” (#002E) 文字を含むファイル識別子の場合,最後の “.” (#002E) に続くすべて
の文字が5文字以下であれば,ファイル拡張子を構成する。ファイル拡張子の前の最後の “.” (#002E)
を除く文字はファイル名を構成する。ファイル名中の “.” (#002E) 文字は,削除する。
g) 長拡張子 この処理のこの段階で,ファイル拡張子を構成する文字数が3を超える場合,このファイ
ル拡張子は,この処理のこの段階でのファイル拡張子を構成している文字の中の先頭の3文字で構成
するとみなす。
h) 長ファイル名 この処理のこの段階で,ファイル名を構成する文字数が8を超える場合,ファイル名
は4文字に切り縮める。
i)
ファイル識別子CRC 前述の処理によって,元のファイル識別子の文字情報が失われているので,同
一ディレクトリ中で重複ファイル識別子を作成する機会が増す。重複ファイル識別子をもつ機会を大
きく減らすために,ファイル名を元ファイル識別子のCRCを含むように変更する。ファイル名は,こ
の処理のこの段階でファイル名を構成する4文字を先頭として,分離子 “#” (#0023) を続け,元のCS0
ファイル識別子の16ビットCRCの最下位12ビットをCS0の16進表示した3数字を続けて構成する。
j)
新しいファイル識別子は,すべて大文字に翻訳される。
2. OS/2 OS/2オペレーティングシステム環境が,ファイルに関連するファイル識別子に制限を強いる。
そこで,前述のオペレーティングシステム環境でファイル識別子を扱うために,次に示す方法を使用する。
65
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
a) ファイル識別子の照合 ファイル識別子の“照合”に対する要求に,大文字及び小文字を区別しない
比較を実行する。
b) ファイル識別子の有効性確認 ファイル識別子が有効なOS/2ファイル識別子である場合,次の段階
は適用しない。
c) 無効文字 OS/2のファイル名として無効な文字,又は現状の環境で表示不可能な文字を含むファイル
識別子は,これらを “̲” (#005F) に翻訳する。複数の連続する無効文字又は表示不可能な文字は,1
文字の “̲” (#005F) に翻訳する。
d) 末尾の終止符及びスペース すべての末尾の “.” (#002E) 及び “ ” (#0020) は,削除する。
e) ファイル識別子CRC 前述の処理によって,元のファイル識別子の文字情報が失われるので,同一デ
ィレクトリ中で重複ファイル識別子を作成する機会が増す。重複ファイル識別子をもつ機会を大きく
減らすために,ファイル名を元のファイル識別子のCRCを含むように変更する。
ファイル拡張がある場合,新しいファイル識別子は,この処理のこの段階でファイル名を構成する
先頭の[254−{新ファイル拡張の長さ+( “.” 用の)1}−(#CRC用の)4]個までの文字から成り,
これに分離子 “#” (#0023) が続き,元のCS0ファイル識別子の16ビットCRCの最下位12ビットを
CS0の16進表示した3数字を続けて,さらに “.” (#002E) 及びこの処理のこの段階でのファイル拡張
を続けて構成する。
ファイル拡張がない場合,新しいファイル識別子は,この処理のこの段階でファイル名を構成する
先頭の[254−(#CRC用の)4]個の文字から成る。これに分離子 “#” (#0023) を続け,元のCS0ファ
イル識別子の16ビットCRCの最下位12ビットをCS0の16進表示した3数字を続けて構成する。
3. Macintosh Macintoshオペレーティングシステム環境が,ファイルに関連するファイル識別子に制限
を強いる。そこで,前述のオペレーティングシステム環境でファイル識別子を扱うために,次に示す方法
を使用する。
a) ファイル識別子の照合 ファイル識別子の“照合”に対する要求に,大文字及び小文字を区別しない
比較を実行する。
b) ファイル識別子の有効性確認 ファイル識別子が有効なMacintoshファイル識別子である場合,次の
段階を適用しない。
c) 無効文字 Macintoshファイル名として無効な文字,又は現状の環境で表示不可能な文字を含むファイ
ル識別子は,これらを “̲” (#005F) に翻訳する。複数の連続する無効文字又は表示不可能文字は,1
文字の “̲” (#005F) に翻訳する。
d) 長ファイル識別子 この処理のこの段階で,ファイル識別子を構成する文字数が31個(Macintoshオ
ペレーティングシステムでの名前の最大長)より大きい場合,この処理のこの段階で,新しいファイ
ル識別子はファイル識別子の先頭27文字で構成する。
e) ファイル識別子CRC 前述の処理によって,元のファイル識別子の文字情報が失われているので,同
一ディレクトリ中で重複ファイル識別子を作成する機会が増す。重複ファイル識別子をもつ機会を大
きく減らすために,ファイル名を元のファイル識別子のCRCを含むように変更する。
ファイル拡張子がある場合,新しいファイル識別子は,この処理のこの段階でファイル名を構成す
る先頭の[31−[新ファイル拡張子の長さ+(“.” 用の)1}−(#CRC用の)4]個の文字から成り,
これに分離子 “#” (#0023) が続き,元のCS0ファイル識別子の16ビットCRCの最下位12ビットを
CS0の16進表示した3数字を続けて,さらに “.” (#002E) 及びこの処理のこの段階でのファイル拡張
66
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
子を続けて構成する。
ファイル拡張子がない場合,新しいファイル識別子は,この処理のこの段階でファイル名を構成す
る先頭の[31−(#CRC用の)4]個の文字から成る。これに分離子 “#” (#0023) を続け,元のCS0フ
ァイル識別子の16ビットCRCの最下位12ビットをCS0の16進表示した3数字を続けて構成する。
4. UNIX UNIXオペレーティングシステム環境が,ファイルに関連するファイル識別子に制限を強いる。
そこで,前述のオペレーティングシステム環境でファイル識別子を扱うために,次に示す方法を使用する。
a) ファイル識別子の照合 ファイル識別子の“照合”に対する要求に,大文字及び小文字を区別する比
較を実行する。
b) ファイル識別子の有効性確認 ファイル識別子が有効なUNIXファイル識別子である場合,次の段階
を適用しない。
c) 無効文字 UNIXファイル名として無効な文字,又は現状の環境で表示可能でない文字を含むファイ
ル識別子は,これらを “̲” (#005F) に翻訳する。複数の連続する無効文字又は表示不可能な文字は,1
文字の “̲” (#005F) に翻訳する。
d) 長ファイル識別子 この処理のこの段階で,ファイル識別子を構成する文字数がMAXNameLength(特
定のUNIXオペレーティングシステムでの名前の最大長)より大きい場合,この処理のこの段階で,
新しいファイル識別子はファイル識別子の先頭 (MAXNameLength-4) 文字で構成する。
e) ファイル識別子CRC 前述の処理によって,元のファイル識別子の文字情報が失われているので,同
一ディレクトリ中で重複ファイル識別子を作成する機会が増す。重複ファイル識別子をもつ機会を大
きく減らすために,ファイル名を元のファイル識別子のCRCを含むように変更する。
ファイル拡張子がある場合,新しいファイル識別子は,この処理のこの段階でファイル名を構成す
る先頭の[MAXNameLength−{新ファイル拡張子の長さ+(“.” 用の)1}−(#CRC用の)4]個の文
字から成り,これに分離子 “#” (#0023) が続き,元のCS0ファイル識別子の16ビットCRCの最下位
12ビットをCS0の16進表示した3数字を続けて,さらに “.” (#002E) 及びこの処理のこの段階でのフ
ァイル拡張子を続けて構成する。
ファイル拡張子がない場合,新しいファイル識別子は,この処理のこの段階でファイル名を構成す
る先頭の[MAXNameLength−(#CRC用の)4]個の文字から成る。これに分離子 “#” (#0023) を続
け,元のCS0ファイル識別子の16ビットCRCの最下位12ビットをCS0の16進表示した3数字を続
けて構成する。
67
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書5(規定) ICB方策
1. 一般 この附属書は,ICB階層(4.3.10.1参照)を構成する5方策を規定する。
2. 方策1 ICB階層の各ICBがk個のエントリのエクステントである方策を規定する。ここでkは,ICB
タグ欄の最大エントリ番号欄の値とする。
3. 方策2 方策1で構成するICB階層に基づくICB階層のリストを構成する方策を規定する。
4. 方策3 ICB階層の各ICBがk個のエントリのエクステントである方策を規定する。ここでkは,ICB
タグ欄の最大エントリ番号欄の値とし,ICB階層にはh水準があるとする。hの値は,ICB階層の各ICB
に関するICBタグ欄[icbtag(4.9.6参照)]の方策パラメタ欄において,Uint16(1.6.1.3参照)として記録
する。ICB階層の水準hでの各ICBは,k個の直接エントリから構成する。1≦n<hにおいて,水準nでの
各ICBは,k個の間接エントリから構成し,その各々は,Inと呼ぶICB階層の水準n+1でのICBの番地を
規定する。
5. 方策4 方策4のICB階層は,一つの直接エントリをもつ単一ICBから構成されなければならない。
6. 方策4096 方策4096のICB階層は,一つの直接エントリ及び一つの間接エントリの二つから構成さ
れなければならない。
附属書5図1 方策4096のエントリ構成
68
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書6(参考) ファイル種別の解釈
UNIXでないオペレーティングシステム環境では,次に示す値のいずれかをこの欄の中にもつファイル
に関するopen/close/read/write要求は,アクセス拒否エラーの状態とする。
ファイル種別値−0 (Unknown),6(ブロック装置),7(文字装置),9 (FIFO) 及び10
(C̲ISSOCK)
種別12(シンボリックリンク)のファイルに対するopen/close/read/write要求は,このシンボリックリン
クが指し示しているファイル又はディレクトリにアクセスするものとする。
69
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書7(規定) ICBタグのビット6,7,8,10の解釈
各種のオペレーティングシステムにおけるビット6,7,8,10の使用法を,次に示す。
1. MS-OS, OS/2
1.1
ビット6及び7 (Setuid&Setgid)
a) 意味 無視する。
b) 設定値 これらのビットを利用可能とする環境の下でのセキュリティ情報のメンテナンスのために,
次に示す状態のいずれかの一つが真の場合,ビット6及び7をZEROに設定する。
1) 一つのファイルを作成する。
2) ファイルに関連付けた属性/許可条件を修正する。
3) ファイルを書き込む(ファイルに関係するデータの内容を更新して)。
1.2
ビット8 (Sticky)
a) 意味 無視する。
b) 設定値 ZEROを設定する。
1.3
ビット10 (System)
a) 意味 MS-OS及びOS/2システムビットに配置する。
b) 設定値 MS-OS及びOS/2システムビットを配置する。
2. Macintosh
2.1
ビット6及び7 (Setuid&Setgid)
a) 意味 無視する。
b) 設定値 これらのビットを利用可能とする環境の下でのセキュリティ情報のメンテナンスのために,
次に示す状態のいずれかの一つが真の場合,ビット6及び7にZEROを設定する。
1) 一つのファイルを作成する。
2) ファイルと関連付けた属性/許可条件を修正する。
3) ファイルを書き込む(ファイルに関係するデータの内容を更新して)。
2.2
ビット8 (Sticky)
a) 意味 無視する。
b) 設定値 ZEROを設定する。
2.3
ビット10 (System)
a) 意味 無視する。
b) 設定値 ZEROを設定する。
70
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3. UNIX
3.1
ビット6,7及び8 (Setuid, Setgid, Sticky) これらのビットは,これに相当するUNIXファイルシス
テムに相当するビットに配置する。
3.2
ビット10 (System)
a) 意味 無視する。
b) 設定値 ファイル作成時だけZEROを設定し,ほかはメンテナンスする。
71
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書8(規定) 許可条件
セキュリティ情報を扱う許可条件の概念は,オペレーティングシステム間で完全には移植可能でない。
この附属書では,次に示す3項目を考察することによって,許可条件ビットを処理する処理システム間で
一貫性を保持する。
a) オペレーティングシステムが利用者ID及びグループIDの概念をもたない場合の,所有者,グループ
及びその他の許可条件の扱い方
b) オペレーティングシステムが利用可能にする許可条件ビットに直接配置していない特定の許可条件ビ
ットがある場合の,許可条件ビットに対する処理方法
c) 新しいファイルを作成するときの,オペレーティングシステムが利用可能にする許可条件ビットに直
接配置していない許可条件に関してのデフォルト値
1. 利用者,グループ及びその他 利用者ID及びグループIDを利用可能にしないオペレーティングシス
テムでは,許可条件ビットを処理するとき,次に示すアルゴリズムを使用する。
a) 特定の許可条件を読み出す場合,すべての三つ(所有者,グループ及びその他)の許可条件の論理和
で値を検査しなければならない。例えば,OWNER̲Write,GROUP̲Writc及びOTHER̲Writeの論理和
がONEに等しかった場合,ファイルは書込み可能を示す。
b) 特定の許可条件を設定する場合,処理システムは許可条件ビットの三つ(所有者,グループ及びその
他)の集合を設定しなければならない。例えば,書込み可能なファイルを示す場合,OWNER̲Write,
GROUP̲Write及びOTHERWriteをすべて値ONEに設定する。
2. 許可条件処理 この規格で扱うオペレーティングシステムにおいて,許可条件ビットの処理法を記述
する附属書8表1に従って,処理システムは許可条件ビットを処理する。この表は,オペレーティングシ
ステムが利用可能な許可条件ビットに直接配置していない許可条件ビットに関連する項目を示す。
附属書8表1 OSの許可条件ビット処理
許可条件 ファイル/
ディレクトリ
解釈
DOS
OS/2
Mac
OS
UNIX
読出し
ファイル
ファイルを読み出してもよい。
E
E
E
E
読出し
ディレクトリ ディレクトリを読み出してもよい。
E
E
E
E
書込み
ファイル
ファイルの内容を更新してもよい。
E
E
E
E
書込み
ディレクトリ ファイル又はディレクトリを作成,削除又は
名前変更してもよい。
E
E
E
E
実行
ファイル
ファイルを実行してもよい。
I
I
I
I
実行
ディレクトリ ファイル又はサブディレクトリを規定する
ために,ディレクトリを検索してもよい。
E
E
E
E
属性
ファイル
ファイルの許可条件を変更してもよい。
E
E
E
E
属性
ディレクトリ ディレクトリの許可条件を変更してもよい。
E
E
E
E
削除
ファイル
ファイルを削除してもよい。
E
E
E
E
削除
ディレクトリ ディレクトリを削除してもよい。
E
E
E
E
E:実施する,I:無視する
検索ビットとしてときどき参照するディレクトリの実行ビットは,特別な意味をもつ。このビットは,
ディレクトリの検索を可能にするが,その内容を一覧表示できるわけではない。例えば,実行許可条件だ
72
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
けを設定し,さらに読出し許可条件ビットを設定しないPRIVATEと呼ぶディレクトリがある場合,ディレ
クトリPRIVATEの内容は,一覧表示できない。PRIVATEディレクトリ中にREADMEと呼ぶ一つのファイ
ルがあると仮定する。利用者は,PRIVATEディレクトリが検索可能であるため,READMEファイルにア
クセスすることは可能である。
ディレクトリの内容を一覧表示するためには,読出し許可条件ビット及び実行許可条件ビットの両方を
ディレクトリに設定しなければならない。ファイル又はサブディレクトリの作成,削除及び名前変更をす
るためには,書込み許可条件ビット及び実行許可条件ビットの両方をディレクトリに設定しなければなら
ない。
参考 ディレクトリの実行ビットに定義する規則は,すべての処理システムで実施する。
備考 ファイル又はサブディレクトリを削除するには,ファイル又はサブディレクトリの削除許可条
件ビットが設定されており,ファイル又はサブディレクトリを含むディレクトリには,書込み
許可条件ビット及び実行許可条件ビットの両方が設定されていなければならない。
3. 許可条件のデフォルト値 この規格で扱うオペレーティングシステムでは,新しいファイルを作成す
るとき,オペレーティングシステムが利用可能な許可条件ビットに直接配置していない許可条件ビットを
使用する場合のデフォルト値を,附属書8表2に示す。
附属書8表2 許可条件ビットのデフォルト値
許可条件 ファイル/
ディレクトリ
解釈
DOS
OS/2
Mac
OS
UNIX
読出し
ファイル
ファイルを読み出してもよい。
1
1
1
U
読出し
ディレクトリ ディレクトリの実行許可条件を設定している
場合だけディレクトリを読み出してもよい。
1
1
1
U
書込み
ファイル
ファイルの内容を更新してもよい。
U
U
U
U
書込み
ディレクトリ ディレクトリの実行許可条件を設定してい
る場合だけファイル又はサブディレクトリ
の名前変更,追加及び削除してもよい。
U
U
U
U
実行
ファイル
ファイルを実行してもよい。
0
0
0
U
実行
ディレクトリ ファイル又はサブディレクトリを規定する
ために,ディレクトリを検索してもよい。
1
1
1
U
属性
ファイル
ファイルの属性を変更してもよい。
1
1
1
(1)
属性
ディレクトリ ディレクトリの属性を変更してもよい。
1
1
1
(1)
削除
ファイル
ファイルを削除してもよい。
(2)
(2)
(2)
(2)
削除
ディレクトリ ディレクトリを削除してもよい。
(2)
(2)
(2)
(2)
U:利用者規定,1:設定,0:解除
注(1) UNIXでは,ファイル又はディレクトリの所有者だけがその属性を変更してもよい。
(2) 削除許可条件ビットは,書込み許可条件ビットの状態を基に設定しなければならない。DOS,OS/2
及びMacintoshでは,ファイル又はディレクトリが書込み可能(書込み許可設定)の場合,ファイ
ルは削除可能を示し,削除許可条件ビットを設定しなければならない。ファイルが再生専用の場合,
削除許可条件ビットは設定してはならない。これは,ファイル属性の変更と同様にファイル作成に
も適用する。
73
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書9(規定) 一意ID
幾つかのオペレーティングシステム(例えば,Macintosh)に関しては,この値は,Int32の最大値 (231
−1) より小さくする必要がある。Macintoshオペレーティングシステムでは,この値は,Macintoshのディ
レクトリID又はファイルIDを表すために使用する。そのために,処理システムは,Int32の最大値 (231
−1) より小さい値を設定しなければならない。値1〜15は,Macintosh用に確保する。
74
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書10(規定) ファイル日時拡張属性
1. ファイル日時存在
1.1
Macintosh OS この欄は,ファイル作成日時の記録を示すためだけに設定する。
1.2
ほかのOS この構造を記録する必要はない。
2. ファイル日時
2.1
Macimosh OS
a) 意味 関連ファイルの作成日時と解釈する。
b) 設定値 関連ファイルの作成日時を設定する。
ファイル日時拡張属性が存在しない場合,Macintosh処理システムは,このファイル作成日時を表す
ためにファイルエントリの変更日時欄を使用する。
2.2
ほかのOS この構造を記録する必要はない。
75
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書11(規定) 処理システム用拡張属性
オペレーティングシステム固有の拡張属性を記録するために,各種のオペレーティングシステムで処理
システム用拡張属性を使用する方法を記述する。
ここで定義する構造は,ヘッダチェックサム欄を含む。この欄は,処理システム用拡張属性ヘッダの16
ビットチェックサムを表す。
属性種別から処理システム識別子までの欄を,チェックサムで保護するデータとして表す。ヘッダチェ
ックサム欄は,拡張属性空間の障害回復の支援として使う。
1. すべてのオペレーティングシステム
1.1
空き拡張属性空間 この拡張属性は,拡張属性空間で未使用な空間を示すために使用する。この拡
張属性は,処理システム識別子 “*UDF FreeEASpace” を設定する処理システム用拡張属性として記録する。
この拡張属性の処理システム用領域は,附属書11表1に示す構成とする。
附属書11表1 空き拡張属性空間のフォーマット
RBP
長さ
名前
内容
0
2
ヘッダチェックサム
Uint16
2
IU̲L−1 空き拡張属性空間
バイト
この拡張属性は,拡張属性空間のすべてを再度書き込むことなく,処理システムが他の拡張属性を縮小
又は拡大することを可能にする。空き拡張属性空間の拡張属性は上書きしてもよく,上書きを必要とする
処理システムがその空間を再利用してもよい。
1.2
DVD著作権管理情報 この拡張属性は,DVD著作権管理情報を示すために使用する。この拡張属
性は,処理システム識別子 “*UDF DVD CGMS Info” を設定する処理システム用拡張属性として記録する。
この拡張属性の処理システム用領域は,附属書11表2に示す構成とする。
附属書11表2 DVD著作権管理情報のフォーマット
RBP 長さ
名前
内容
0
2
ヘッダチェックサム
Uint16
2
1
著作権管理情報
バイト
3
1
データ構造種別
Uint8
4
4
保護システム情報
バイト
この拡張属性は,DVD著作権管理情報の記録を可能にする。この拡張属性を利用可能にすることは,オ
プションとする。
参考 このフォーマットの解釈は,DVDコンソーシアムが出版するDVD規定で定義する。
2. MS-DOS
a) 意味 無視する。
b) 設定値 利用可能としない。媒体中の既存ファイルの拡張属性は保存する。
3. OS/2 OS/2は,制限のない個数の拡張属性を利用可能にする。これらの拡張属性は,次に示す二つの
処理システム用拡張属性の使用によって利用可能にする。
76
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
3.1
OS/2拡張属性 この拡張属性は,OS/2で定義可能なすべての拡張属性を含み,処理システム識別子
に “*UDF OS/2EA” を設定する処理システム用拡張属性として記録する。
この拡張属性の処理システム用領域は,附属書11表3に示す構成とする。
附属書11表3 OS/2拡張属性のフォーマット
RBP
長さ
名前
内容
0
2
ヘッダチェックサム
Uint16
2
IU̲L−2 OS/2拡張属性
全拡張属性
OS/2拡張属性欄は,附属書11表4に示すOS/2の全拡張属性の表を含む。
附属書11表4 全拡張属性のフォーマット
RBP
長さ
名前
内容
0
1
フラッグ
Uint8
1
1
名前の長さ (=L̲N)
Uint8
2
2
値の長さ (L̲V)
Uint16
4
L̲N
名前
バイト
4+L̲N
L̲V
値
バイト
参考 全拡張属性の完全な記述については,次に示すIBMの文献を参照されたい。
“Installable File System for OS/2 Version 2.0”
OS/2 File Systms Department, PSPC Boca Raton, Florida, Feburary 17, 1992
3.2
OS/2拡張属性長 この拡張属性は,OS/2拡張属性情報の長さを規定する。この値は,ディレクトリ
操作でOS/2に通知する必要があるため,効率上の理由から,ファイルエントリの拡張属性欄に記録しな
ければならない。この拡張属性は,処理システム識別子に “*UDF OS/2 EALength” を設定する処理システ
ム用拡張属性として記録する。この拡張属性の処理システム用領域は,附属書11表5に示す構成とする。
附属書11表5 OS/2拡張属性長フォーマット
RBP 長さ
名前
内容
0
2
ヘッダチェックサム Uint16
2
4
OS/2拡張属性長
Uint32
OS/2拡張属性長欄に記録する値は,OS/2拡張属性の処理システム用長欄の値から2を減算した値と一
致しなければならない。
4. Macintosh OS Macintosh OSは,次に示す四つの拡張属性の利用を要求する。
4.1
Macintoshボリューム情報 この拡張属性は,Macintoshボリューム情報を含み,処理システム用識
別子に “*UDF Mac VolumeInfo” を設定する処理システム用拡張属性として記録する。この拡張属性の処理
システム用領域は,附属書11表6に示す構成とする。
附属書11表6 Macintoshボリューム情報フォーマット
RBP 長さ
名前
内容
0
2
ヘッダチェックサム
Uint16
2
12
最後の更新日時
timestamp
14
12
最後のバックアップ日時
timestamp
26
32
ボリュームファインダ情報 Uint32
Macintoshボリューム情報の拡張属性は,ルートディレクトリのファイルエントリの拡張属性として記録
する。
77
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
4.2
Macintoshファインダ情報 この拡張属性は,関連ファイル又はディレクトリのMacintoshファイン
ダ情報を含む。この情報は頻繁にアクセスするため,効率上の理由からファイルエントリの拡張属性欄に
記録しなければならない。
Macintoshファインダ情報の拡張属性は,処理システム識別子に “*UDF Mac FinderInfo” を設定する処理
システム用拡張属性として記録する。この拡張属性の処理システム用領域は,附属書11表7及び附属書
11表8に示す構成とする。
附属書11表7 ディレクトリに対するMacintoshファインダ情報フォーマット
RBP 長さ
名前
内容
0
2 ヘッダチェックサム
Uint16
2
2 埋込み (=0)
Uint16
4
4 親ディレクトリID
Uint32
8
16 ディレクトリ情報
UDFDInfo
24
16 ディレクトリ拡張情報
UDFDXInfo
附属書11表8 ファイルに対するMacintoshファインダ情報フォーマット
RBP 長さ
名前
内容
0
2 ヘッダチェックサム
Uint16
2
2 埋込み (=0)
Uint16
4
4 親ディレクトリID
Uint32
8
16 ファイル情報
UDFFInfo
24
16 ファイルの拡張情報
UDFFXInfo
40
4 リソースフォークデータ長 Uint32
44
4 リソースフォーク割付け長 Uint32
Macintoshファインダ情報の拡張属性は,論理ボリューム中のすべてのファイル及びディレクトリの拡張
属性として記録する。
参考 Macintoshファインダ情報中で使用する次に示す構造は,明確化のために附属書11表9〜附属
書11表14で示す。これらの構造の完全な情報については, “Inside Macintosh” と呼ぶMacintosh
の文献を参照されたい。各構造のボリューム及びページ番号は, “Inside Macintosh” 固有のボ
リューム及びページに対応する。
附属書11表9 UDFPointフォーマット(ボリュームI,139ページ)
RBP 長さ
名前
内容
0
2
v
Int16
2
2
h
Int16
附属書11表10 UDFRectフォーマット(ボリュームI,141ページ)
RBP 長さ
名前
内容
0
2
up
Int16
2
2
left
Int16
4
2
bottom
Int16
6
2
right
Int16
附属書11表11 UDFDInfoフォーマット(ボリュームIV,105ページ)
RBP 長さ
名前
内容
0
8
frRect
UDFRect
8
2
frFlags
Int16
10
4
frLocation
UDFPoint
14
2
frView
Int16
78
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書11表12 UDFDXInfoフォーマット(ボリュムIV,106ページ)
RBP 長さ
名前
内容
0
4
frScroll
UDFPoint
4
4
frOpenChain Int32
8
1
frScript
Uint8
9
1
frXflags
Uint8
10
2
frComment
Int16
12
4
frPutAway
Int32
附属書11表13 UDFFInfoフォーマット(ボリュームII,84ページ)
RBP 長さ
名前
内容
0
4
fdType
Uint32
4
4
fdCreator
Uint32
8
2
fdFlags
Uint16
10
4
fdLocation
UDFPoint
14
2
fdFldr
Int16
附属書11表14 UDFFXInfoフォーマット(ボリュームII,105ページ)
RBP 長さ
名前
内容
0
2
fdIconID
Int16
2
6
fdUnused
バイト
8
1
fdScript
Int8
9
1
fdXFlags
Int8
10
2
fdComment
Int16
12
4
fdPutAway
Int32
備考 Macintoshファインダ情報の構造は,元のMacintosh構造と実際に異なることを示すために,
“UDF” が先行する元のMacintosh名をもつ。媒体中では,ビッグエンディアン形式の元の
Macintosh構造に対して,この規格の構造ではリトルエンディアンで記録する。
4.3
Macintosh一意ID表 この拡張属性は,規定する一意IDのファイルエントリを調査するために使
用する表を含む。この表は,処理システム識別子に “*UDF Mac UniqueIDtable” を設定する処理システム
用拡張属性として記録する。この拡張属性の処理システム用領域は,附属書11表15〜附属書11表17に
示す構成とする。
附属書11表15 Macintosh一意ID表フォーマット
RBP
長さ
名前
内容
0
2
ヘッダチェックサム
Uint16
2
2
埋込み (=0)
Uint16
4
4
一意IDマップ数 (=N̲DID) Uint32
8
N̲DID×8 一意IDマップ
一意IDマップ
附属書11表16 一意IDマップフォーマット
RBP 長さ
名前
内容
0
8
ファイルのエントリ位置 small̲ad
附属書11表17 small̲adフォーマット
RBP 長さ
名前
内容
0
2
エクステント長
Uint16
2
6
エクステント位置 lb̲addr (4.2.1)
この一意ID表は,規定するMacintoshディレクトリID又はファイルID(一意ID)に関して,これに相
79
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
当するファイルエントリを調査するために使用する。例えば,MacintoshディレクトリID又はファイルID
がiの場合,これに相当するファイルエントリ位置は,一意ID表中の (i−2) の一意IDマップにある。一
意IDが0から始まるのに対して,MacintoshディレクトリID又はファイルIDは2で始まるため,一意ID
は,相当するディレクトリID又はファイルIDから2を減算した値となる。Macintoshのルートディレク
トリは,常に値2のディレクトリIDであるので,このルートファイルエントリの一意IDは,値0である。
ファイルエントリ位置のエクステント長欄の値が0の場合,これに相当する一意IDは未使用とする。
Macintosh一意ID表の拡張属性は,ルートディレクトリの拡張属性として記録する。
Macintosh一意ID表は,Macintoshを利用可能にする処理システムだけが作成及び更新を行う。
参考 Macintosh一意ID表を利用可能にしない処理システムが論理ボリュームを更新したとき,論理
ボリュームは,次に示すくいちがいを生じる。
a) Macintosh一意ID表から参照されていないファイルが媒体上に存在する。これは,Macintosh
でない処理システムが媒体中に新たなファイルを作成した結果である。
b) Macintosh一意ID表で管理するファイルがもはや媒体上に存在しない。これは,Macintosh
でない処理システムが媒体中のファイルを削除した結果である。
Macintoshは,ファイル名を参照しないで,媒体中のファイルに直接位置付けをするのに一意
IDを使用する。これは,Macintoshでない処理システムが,最初にファイルを作成したときだ
けに行われる。したがって,Macintoshを利用可能にしない処理システムが論理ボリュームに追
加した新たなファイルは,常にファイル名による参照が最初に行われ,一意IDによる参照は
最初には行われない。ファイル名によるファイルヘの最初のアクセス時に,Macintosh用の処理
システムは,そのファイルの一意IDがMacintosh一意ID表にないことを検出し,その表を正
しい状態に更新することが可能である。
2番目の問題は,Macintosh用の処理システムが,媒体中のファイルヘの参照を,一意IDに
よって与えられたときに発生する。Macintosh用の処理システムは,一意IDが参照するファイ
ルが存在することを確認する必要がある。次の手順を実施できる。
a) 一意IDが示すファイルエントリが,同一の一意IDを含むことを確認する。
b) さらに,ファイルエントリを含むブロックが空きリスト中にないことを確認する。これは,
Macintoshでない処理システムがファイルを削除して,ファイルエントリが未だ上書きされて
いないときのためである。
これらの二つの確認によっても捕らえることができない唯一の例は,Macintoshでないシステ
ムがファイルを削除し,ファイルエントリに関連する論理ブロックが,新たなファイルに再割
付けされ,新たなファイルはそのブロックを,割付け済みで未記録のエクステントとして使用
している場合である。
4.4
Macintoshリソースフォーク この拡張属性は,関連ファイルに対してMacintoshのリソースフォー
クデータを含む。
リソースフオークデータは,処理システム識別子欄に “*UDF Mac ResourceFork” を設定する処理システ
ム用拡張属性として記録する。この拡張属性の処理システム用領域は,附属書11表18に示す構成とする。
80
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書11表18 Macintoshリソースフォークフォーマット
RBP
長さ
名前
内容
0
2
ヘッダチェックサム
Uint16
2
IU̲L−2 リソースフォークデータ
バイト
Macintoshリソースフォークの拡張属性は,論理ボリューム中のリソースフォークが1バイト以上のすべ
てのファイルに拡張属性として記録する。
Macintoshリソースフォークの拡張属性を参照するMacintoshファインダ情報の二つの欄は,次のとおり
規定する。
a) リソースフォークデータ長
リソースフォークの一部と解釈する実際のデータの長さを設定する。
b) リソースフォーク割付け長
リソースフォークの割付けた空間の総容量をバイト単位で設定する。
5. UNIX
a) 意味 無視する。
b) 設定値 利用可能としない。媒体上の既存ファイルの拡張属性は保存しなければならない。
81
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
附属書12(規定) 応用プログラム用拡張属性
ここで定義する構造は,ヘッダチェックサム欄を含む。この欄は,応用プログラム用拡張属性ヘッダの
16ビットチェックサムを表す。
属性種別から応用プログラム識別子までの欄を,チェックサムで保護するデータとして表す。ヘッダチ
ェックサム欄は,拡張属性空間の障害回復の支援として使う。
1. すべてのオペレーティングシステム この拡張属性は,拡張属性空間で応用プログラム用拡張属性に
確保された未使用な空間を示すために使用する。この拡張属性は,応用プログラム識別子 “*UDF
FreeAppEASpace” を設定する応用プログラム用拡張属性として記録する。
この拡張属性の応用プログラム用領域は,附属書12表1に示す構成とする。
附属書12表1 空き応用プログラム拡張属性空間のフォーマット
RBP
長さ
名前
内容
0
2
ヘッダチェックサム
Uint16
2
IU̲L−1 空き応用プログラム拡張属性空間
バイト
この拡張属性は,拡張属性空間のすべてを再度書き込むことなく,処理システムがほかの拡張属性を縮
小又は拡大することを可能にする。空き応用プログラム拡張属性空間の拡張属性は上書きしてもよく,上
書きを必要とする処理システムがその空間を再利用してもよい。
82
X 0609 : 1998
2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。
光ディスク標準化委員会 構成表
氏名
所属
(委員長)
板 生 清
東京大学
(副委員長)
小 町 祐 史
松下電送株式会社
石 井 正 則
日本電気株式会社
磯 村 嘉 伯
日本電信電話株式会社
伊 藤 武
富士通株式会社
入 江 英 之
株式会社東芝
金 沢 安 矩
木 目 健治朗
三菱電機株式会社
佐 藤 正 聡
株式会社ニコン
菅 谷 寿 鴻
株式会社東芝
高 橋 正 彦
株式会社日立製作所
土 屋 洋 一
三洋電機株式会社
徳 丸 春 樹
日本放送協会
戸 島 知 之
NTTインテリジェントテクノロジ株式会社
橋 爪 邦 隆
通商産業省工業技術院
増 井 久 之
財団法人マルチメディアコンテンツ振興協会
松 林 宣 秀
オリンパス光学工業株式会社
三 和 邦 彦
日本アイ・ビー・エム株式会社
村 上 善 照
シャープ株式会社
山 下 保
ソニー株式会社
山 田 昇
松下電器産業株式会社
横 川 文 彦
パイオニア株式会社
吉 田 秀 実
三菱化学株式会社
(事務局)
杉 森 輝 彦
財団法人光産業技術振興協会
増 田 岳 夫
財団法人光産業技術振興協会
吉 田 至 宏
財団法人光産業技術振興協会
光ディスク標準化委員会フォーマット分科会 構成表
氏名
所属
(統括)
小 町 祐 史
松下電送株式会社
石 井 正 則
日本電気株式会社
石 川 明 男
ソニー株式会社
伊 藤 武
富士通株式会社
糸 岡 晃
大日本スクリーン製造株式会社
井 上 栄
株式会社東芝
工 藤 芳 明
大日本印刷株式会社
郡 山 龍
株式会社アプリックス
後 藤 芳 稔
松下電器産業株式会社
沢 田 要
川鉄情報システム株式会社
嶋 津 泰 浩
通商産業省工業技術院
中 根 和 彦
三菱電機株式会社
野 尻 進 一
パイオニア株式会社
三 和 邦 彦
日本アイ・ビー・エム株式会社
守 島 浩
株式会社日立製作所