ISO 9660<e​​xtra_id_1> 開発者

ISO 9660<e​​xtra_id_1> 開発者
ISO / IEC 、 ECMA Internationalバリアント
ISO 13490導入
1988制限 (1988年
最大ボリューム
8TiB その他
サポートされているオペレーティングシステム
クロスプラットフォーム光ディスク

ISO 9660 ( ECMA -119とも呼ばれる)は、光ディスクメディア用のファイルシステムです。このファイルシステムは、国際標準化機構(ISO)から入手可能な国際標準です。仕様が公開されているため、多くのオペレーティングシステム向けに実装が書かれています。[ 1 ]

ISO 9660 は、Unixファイルシステムや FAT似た階層型( 8レベルのディレクトリ) ツリーファイルシステム配置を使用して、非連続アクセスを最小限に抑えるためにファイル情報を高密度で連続的なレイアウトに配置する High Sierra フォーマット [ 2 ] に遡りますクロスプラットフォームの互換性を容易にするために、共通ファイル属性 (ディレクトリまたは通常ファイルと記録時間) と名前属性 (名前、拡張子、バージョン) の最小限のセットを定義し、各ファイルの将来のオプションの拡張子を指定できる別のシステム使用領域を使用しました。High Sierra は、1986 年 12 月に (変更を加えて) Ecma InternationalによりECMA-119 [ 3 ]として国際標準として採用され、 ISOにファストトラッキングのために提出され、最終的に ISO で ISO 9660:1988 として承認されました[ 4 ]

ファイルシステムの最初の16セクターは空で、他の用途のために予約されています。残りのセクターはボリューム記述子セット(後続のレイアウトを記述するヘッダーブロック)で始まり、その後にディスク上のパステーブル、ディレクトリ、およびファイルが続きます。ISO 9660準拠のディスクには、ファイルシステムを記述するプライマリボリューム記述子と、記述子セットの終了を示すボリューム記述子であるボリューム記述子セットターミネータが少なくとも1つ含まれている必要があります。プライマリボリューム記述子は、ボリューム、特性、メタデータに関する情報を提供します。これには、ルートディレクトリがどのセクターにあるかを示すルートディレクトリレコードが含まれます。その他のフィールドには、ボリューム名や作成者などのメタデータ、およびファイルシステムで使用される論理ブロックのサイズと数が含まれます。パステーブルは、関連するディレクトリ階層のディレクトリ構造を要約したものです。イメージ内の各ディレクトリについて、パステーブルはディレクトリ識別子、ディレクトリが記録されているエクステントの位置、ディレクトリに関連付けられている拡張属性の長さ、および親ディレクトリのパステーブルエントリのインデックスを提供します。

ISO 9660には、いくつかの制限を緩和する拡張機能がいくつかあります。注目すべき例としては、Rock Ridge(Unixスタイルのパーミッションと長い名前)、JolietUnicode、非ラテン文字の使用を可能にする)、El Torito(CDの起動を可能にする)、Apple ISO 9660拡張機能(リソースフォーク、ファイルのバックアップ日付など、従来のMac OSおよびmacOSに固有のファイル特性)などがあります

歴史

コンパクトディスクはもともと音楽データの記録用に開発されましたが、アーカイブ用の大量データストレージとしても同様に効果的であったため、すぐに他のデジタルデータの保存にも使用されるようになりました。CD -ROMと呼ばれるこれらのタイプのコンパクトディスクの最低レベルフォーマットは、 1983年のイエローブック仕様で定義されました。しかし、この書籍ではCD-ROM上のデータをファイルなどの論理単位に整理するためのフォーマットは定義されていなかったため、各CD-ROMメーカーが独自のフォーマットを作成することになりました。CD-ROMファイルシステム標準(Z39.60 -情報交換のためのCD-ROMのボリュームとファイル構造)を開発するために、米国国家情報標準化機構(NISO)は1985年7月に標準化委員会SC EE(コンパクトディスクデータフォーマット)を設立しました。[ 5 ] 1985年9月/ [ 6 ] 10月に、いくつかの企業が専門家を招き、そのような標準のワーキングペーパーの作成に参加してもらいました

1985年11月、コンピュータハードウェアメーカーの代表者がネバダ州ステートラインのハイシエラホテルアンドカジノ(現在はゴールデンナゲットレイクタホと呼ばれている)に集まった。[ 7 ]このグループはハイシエラグループHSG)として知られるようになった。会議にはアップルコンピュータAT&Tデジタルイクイップメントコーポレーション(DEC) 、日立レーザーデータマイクロウェアマイクロソフト3Mフィリップスリファレンステクノロジー社ソニー株式会社TMS株式会社ビデオツールズ(後のメリディアン[ 8 ])、ジーベックイェリックの代表者が出席した。会議報告書はイエローブックCD-ROM規格から発展したもので、その規格は非常にオープンエンドであったため、互換性のない多くのデータストレージ方式の多様化と作成につながっていた。ハイシエラグループ提案HSGP)は1986年5月に発表され、一般にハイシエラフォーマットとして知られるCD-ROMのファイルシステムを定義した。

この提案の草案は、標準化のため欧州コンピュータ工業会(ECMA) に提出された。いくつかの変更を経て、1986年12月にECMA-119規格の最初の版が発行された。[ 9 ] ECMAは、その規格をファストトラッキングのために国際標準化機構(ISO)に提出し、そこでさらに改良されてISO 9660規格となった。互換性のため、ECMA-119の第2版は1987年12月にISO 9660と同等となるように改訂された。[ 10 ] [ 11 ] [ 12 ] ISO 9660:1988は1988年に発行された。ECMA-119およびISO 9660規格におけるHigh Sierraフォーマットからの主な変更点は、フォーマットが米国以外の市場でより適切に機能するように国際的な拡張が行われたことである。

非互換性が生じないようにするため、NISOは1987年5月28日にNISO加盟国によって採択されたZ39.60のさらなる作業を中断した。これは最終承認前に撤回され、ISO 9660が採用された。[ 5 ]

JIS X 0606:1998は、新しい「拡張ボリューム記述子」データ構造を用いた大幅に緩和されたファイル名規則を伴い、1998年に日本で制定されました。この規格はISO 9660:1999に提案され、早急に審議される予定でしたが、結局は実現しませんでした。[ 13 ]しかし、現在ではいくつかのオペレーティングシステムやディスクオーサリングツール( Nero Burning ROMmkisofsImgBurn など)が、「ISO 9660:1999」、「ISO 9660 v2」、「ISO 9660 Level 4」といった名称でこの追加規格をサポートしています。2013年、この提案は最終的にISO 9660/Amendment 1として正式化され、「ISO 9660と広く使用されている『Joliet仕様』との調和を図る」ことを目的としていました。[ 14 ] 2017年12月に、ISO 9660の修正1と技術的に同一のECMA-119第3版が発行されました。[ 15 ]

2019年、ECMAはECMA-119の第4版を発行し、ジョリエット文書を「付録C」として統合しました。[ 1 ]

2020年にISOは改正2を公表したが、いくつかの軽微な明確化事項を追加したが、規格の技術情報は追加も修正もされていない。[ 16 ]

仕様

以下はISO 9660ファイルシステムの大まかな全体構造です

マルチバイト値は、リトルエンディアンビッグエンディアン、そして仕様書で「両バイト」順序と呼ばれる両形式の連結の3つの異なる形式で保存できます。ボリューム記述子とディレクトリレコードのいくつかのフィールドでは両バイト順序が必須ですが、パステーブルはリトルエンディアンとビッグエンディアンのどちらでも構いません。[ 17 ]

トップレベル

ISO 9660ファイルシステム
システム領域(32,768バイト) ISO 9660では未使用
データ領域
ボリューム記述子セット
パステーブル、ディレクトリ、およびファイル

システム領域はディスクの最初の 32,768 データバイト (各 2,048 バイトの 16 セクター) であり、ISO 9660 では未使用であるため、他の用途に使用できます。[ 17 ]この領域はブート可能なメディア用に予約されていると示唆されていますが、[ 18 ] CD-ROM にはこの領域に代替ファイルシステム記述子が含まれている場合があり、この領域はクラシック Mac OS固有およびmacOS固有のコンテンツを提供するハイブリッド CDでよく使用されます。

ボリューム記述子セット

データ領域はボリューム記述子セットで始まります。ボリューム記述子セットは、ボリューム記述子セットターミネータで終了する1つ以上のボリューム記述子のセットです。これらはまとめてデータ領域のヘッダーとして機能し、その内容を記述します(FATHPFS、およびNTFS形式のディスクで使用されるBIOSパラメータブロックに似ています)。

ボリューム記述子セット
ボリューム記述子 #1
ボリューム記述子 #N
ボリューム記述子セットターミネータ

各ボリューム記述子は2048バイトのサイズで、モード1またはモード2のフォーム1セクター1つにぴったり収まります。ボリューム記述子の構造は以下のとおりです。

ボリューム記述子(2,048バイト)
部品 種類 識別子 バージョン データ
サイズ 1バイト 5バイト(常に「CD001」) 1バイト(常に0x01) 2,041バイト

ボリューム記述子のデータフィールドは複数のフィールドに分割され、その内容はタイプによって異なります。また、各ボリューム記述子の最初のコピーが破損した場合に備えて、冗長コピーを含めることもできます

標準ボリューム記述子のタイプは次のとおりです。

基本的なボリューム記述子の種類
種類
0 ブートレコードボリューム記述子
1 プライマリボリューム記述子
2 補助ボリューム記述子、または拡張ボリューム記述子
3 ボリュームパーティション記述子
255 ボリューム記述子セットターミネータ

ISO 9660準拠のディスクには、ファイルシステムを記述するプライマリボリューム記述子と、記述子シーケンスの終了を示すボリューム記述子セットターミネータが少なくとも1つ含まれている必要があります。ボリューム記述子セットターミネータは、この構造セットの終了を示すことを目的とした、特定の種類のボリューム記述子です。プライマリボリューム記述子は、ボリューム、特性、メタデータに関する情報を提供します。これには、ルートディレクトリがどのセクターにあるかを示すルートディレクトリレコードが含まれます。その他のフィールドには、ボリュームの説明または名前、およびボリュームを作成したユーザーとアプリケーションに関する情報が含まれます。ファイルシステムがボリュームをセグメント化するために使用する論理ブロックのサイズも、プライマリボリューム記述子内のフィールドに格納され、ボリュームが占めるスペースの量(論理ブロック数で測定)も格納されます

プライマリボリューム記述子に加えて、補足ボリューム記述子または拡張ボリューム記述子が存在する場合があります。

  • 補助ボリューム記述子は、主ボリューム記述子と同じボリュームを記述します。通常、標準コードテーブルが不十分な場合に、追加のコードページサポートを提供するために使用されます。この規格では、8バイトを超えるコードセットの管理にはISO 2022を使用し、使用される各コードページを識別するにはISO 2375エスケープシーケンスを使用することが規定されています。したがって、ISO 9660は、参照される規格の枠組みに適合する限り、国際的なシングルバイトおよびマルチバイト文字セットをサポートします。ただし、ISO 9660では、サポートが保証されているコードページは規定されていません。この規格自体で定義されているコードテーブル以外のコードテーブルの使用は、ボリュームの作成者と受領者の間で合意する必要があります。
  • 拡張ボリューム記述子は、ISO 9660 修正 1 で導入されました。これにより、他のボリューム記述子とそれによって参照されるディレクトリ レコードの要件の一部が緩和されます。たとえば、ディレクトリの深さは 8 を超えることができ、ファイル識別子には '.' やファイル バージョン番号を含める必要がなくなり、ファイルおよびディレクトリ識別子の長さは最大 207 になります。

パステーブル

パステーブルは、関連するディレクトリ階層のディレクトリ構造を要約したものです。イメージ内の各ディレクトリについて、パステーブルはディレクトリ識別子、ディレクトリが記録されているエクステントの位置、ディレクトリに関連付けられている拡張属性の長さ、および親ディレクトリのパステーブルエントリのインデックスを提供します。親ディレクトリ番号は16ビットの数値で、その範囲は1から65,535に制限されます。[ 19 ]

ディレクトリとファイル

ISO 9660ディレクトリ構造の概要

ディレクトリエントリは、ファイル名の評価が開始されるルートディレクトリエントリの位置に続いて格納されます。ディレクトリとファイルはどちらも、連続したセクターの連続であるエクステントとして格納されます。ファイルとディレクトリは、その性質を示すファイル属性によってのみ区別されます(Unixと同様)。ファイルの属性は、ファイルを記述するディレクトリエントリに格納され、オプションで拡張属性レコードにも格納されます。ファイルを見つけるには、ファイルのパス内のディレクトリ名を順番にチェックし、各ディレクトリの位置に移動して、後続のサブディレクトリの位置を取得します。ただし、ファイルシステムが提供するパステーブルを使用してファイルを見つけることもできます。このパステーブルには、各ディレクトリ、その親、およびディスク上の位置に関する情報が格納されています。パステーブルは連続した領域に格納されるため、ファイルのパス内の各ディレクトリの特定の位置にジャンプするよりもはるかに高速に検索でき、シーク時間を短縮できます

この標準では、交換の 3 つのネストされたレベルが規定されています (セクション 10 からの引用)。

  • レベル1: ファイル名は8文字まで、拡張子は3文字までに制限されます。ディレクトリ名は8文字までに制限されます。ファイルには1つのファイルセクションを含めることができます。
  • レベル2: ファイル名 + '.' + ファイル名拡張子またはディレクトリ名は、31文字を超えてはなりません(セクション7.5および7.6)。ファイルは1つのファイルセクションを含むことができます。
  • レベル3: 規格本体で規定されているもの以外の制限はありません。ファイルは、連続していない複数のセクションで構成することもできます(ただし、順序には若干の制限があります)。

標準本体における追加の制限: ディレクトリ階層の深さは 8 を超えてはなりません (ルート ディレクトリはレベル 1 になります)。また、ファイルのパスの長さは 255 を超えてはなりません。(セクション 6.8.2.1)

この規格では、次のような名前制限も規定されている(セクション7.5および7.6):[ 4 ]

  • すべてのレベルで、必須ファイル階層内のファイル名は、大文字、数字、アンダースコア("_")、およびドットに制限されます。(セクション7.4.4および付録Aも参照してください。)
  • ファイル名に文字が指定されていない場合、ファイル名拡張子は少なくとも 1 文字で構成される必要があります。
  • ファイル名拡張子に文字が指定されていない場合、ファイル名は少なくとも 1 文字で構成される必要があります。
  • ファイル名には 1 つ以上のドットを含めることはできません。
  • ディレクトリ名にはドットを使用しないでください。

CD-ROM プロデューサーは、標準の第 10 章で指定されている下位レベルの交換のいずれかを選択し、完全な標準を実装していない実装との互換性を促進するために、ファイル名の長さを 30 文字から、ファイル識別子では 8+3 文字、ディレクトリ識別子では 8 文字に制限することができます。

ISO 9660 ファイルシステムでは、GMT オフセットに使用される 1 バイト値を除き、すべての数値は符号なし数値です。ディスク上のファイルエクステントの長さは32 ビット値で保存されるため、[ 20 ]最大長は 4.2  GB強(より正確には 4  GiBより 1 バイト少ない) になります。この制限は、ISO 9660 レベル 3 のマルチエクステント (断片化) 機能を使用して ISO 9660 ファイルシステムと最大 8 TB の単一ファイルを作成することで回避できます。これにより、4 GiB を超えるファイルは、それぞれが 4 GiB の制限を超えない複数のエクステント (連続したセクターの列) に分割できます。例えば、InfraRecorderImgBurnmkisofs 、 Roxio Toastなどのフリーソフトウェアは、マルチエクステントファイルを使用して4GiBを超えるファイルを記録型DVDなどの適切なメディアに保存するISO 9660ファイルシステムを作成できます。Linuxマルチエクステントをサポートしています。[ 21 ]

修正第1版(またはECMA-119第3版、または「JIS X 0606:1998 / ISO 9660:1999」)以降、EVDシステムではより多様なファイルツリーを表現できるようになりました。文字数制限(8ビット文字も使用可能)や深さ制限、パス長制限はなくなりました。ただし、名前の長さには207文字という制限が残っています。文字セットは強制されなくなったため、ディスク交換の両サイドは別のチャネルを介して合意する必要があります。[ 15 ]

ボリュームサイズ

ISO 9660ボリュームは、ボリュームサイズの32ビットセクターカウントと、光ディスクの論理セクターに一致する2048バイトのアロケーションユニットサイズにより、最大8テビバイト(約8.8テラバイト)のサイズになります。32ビットフィールドで表現できる最大値は2の32乗-1であるためボリュームサイズは(2の32乗-1)×2048バイトに制限されます。「論理」とは、オペレーティングシステムに公開されるセクターサイズであり、必ずしもディスク上の物理セクターサイズではありません。DVDとBlu-rayディスクは、CD-ROMの論理セクターサイズである2048バイトを維持しており、それ以前のコンピューターやソフトウェアとの読み取り互換性を維持しようとしています

拡張機能と改良

ISO 9660には、いくつかの制限を緩和する拡張機能がいくつかあります。注目すべき例としては、Rock Ridge(Unixスタイルのパーミッションと長い名前)、JolietUnicode、非ラテン文字の使用を可能にする)、El Torito(CDの起動を可能にする)、Apple ISO 9660拡張機能(リソースフォーク、ファイルのバックアップ日付など、従来のMac OSおよびmacOSに固有のファイル特性)などがあります

SUSP

システム使用共有プロトコル(SUSP、IEEE P1281)は、プライマリボリューム記述子(PVD)からアクセス可能な任意のディレクトリエントリに追加プロパティを含めるための一般的な方法を提供します。ISO 9660ボリュームでは、すべてのディレクトリエントリにオプションのシステム使用領域があり、その内容は未定義で、システムによって解釈されます。SUSPは、その領域を複数のシステム使用フィールドに分割する方法を定義し、それぞれは2文字の署名タグで識別されます。SUSPの背後にある考え方は、ISO 9660の独立した拡張機能を任意の数作成し、競合することなくボリュームに含めることができるようにすることでした。また、システム使用領域の制限内に収まらないほど大きいプロパティデータを含めることも可能にします

SUSP は、いくつかの共通タグとシステム使用フィールドを定義します。

  • CE:継続領域
  • PD:パディングフィールド
  • SP:システム使用共有プロトコルインジケータ
  • ST: システム使用共有プロトコルターミネータ
  • ER:拡張機能リファレンス
  • ES:拡張機能セレクター

その他の既知のSUSPフィールドには以下が含まれます

  • AA: Apple拡張機能(推奨)
  • BA: Apple拡張機能、古い(長さ属性がありません)
  • AS: Amiga ファイルのプロパティ
  • ZF: zisofs圧縮ファイル。通常はmkzftreeプログラムまたはlibisofsによって生成される。CONFIG_ZISOFSが有効になっている場合、Linuxカーネルによって透過的に解凍される。[ 22 ]
  • AL: ACLを含む拡張ファイル属性を記録する。libburniaによって提案され libisofsによってサポートされている。[ 23 ]

Apple 拡張機能は技術的には SUSP 標準に準拠していません。ただし、Apple によって定義された AA フィールドと AB フィールドの基本構造はSUSP と前方互換性があるため、注意すればボリュームで Apple 拡張機能と RRIP 拡張機能の両方を使用できます。

ロックリッジ

ロックリッジ交換プロトコル(RRIP、IEEE P1282)は、 POSIXファイルシステムのセマンティクスを追加する拡張機能です。これらの拡張プロパティを利用できることで、 UnixおよびUnix系オペレーティングシステムとの統合が向上します。 [ 24 ]この標準規格の名前は、メル・ブルックス監督の映画『ブレージング・サドル』に登場する架空の町、ロックリッジに由来しています。[ 25 ] RRIP拡張機能とは、簡単に言うと以下のとおりです

RRIP 拡張機能は SUSP に基づいて構築され、対応するシステム使用フィールドの形式と意味とともに、POSIX セマンティクスのサポートのための追加タグを定義します。

  • RR: Rock Ridge拡張機能の使用中インジケーター(注: バージョン1.09以降は標準から削除されました)
  • PX: POSIXファイル属性
  • PN: POSIXデバイス番号
  • SL: シンボリックリンク
  • NM: 別名
  • CL: 子リンク
  • PL: 親リンク
  • RE: 再配置されたディレクトリ
  • TF: タイムスタンプ
  • SF: スパースファイルデータ

Amiga Rock RidgeはRRIPに似ていますが、 AmigaOSで使用される追加のプロパティを提供します。これもSUSP標準に基づいて構築されており、「AS」タグ付きのシステム使用フィールドを定義します。そのため、Amiga Rock RidgeとPOSIX RRIPの両方を同じボリュームで同時に使用できます。この拡張機能でサポートされている特定のプロパティには、ファイル用の追加のAmigaビットがあります。属性「P」(再入可能コマンドを示す)と属性「S」(スクリプトビットを示す)がサポートされていますこれには、保護フラグとオプションのコメントフィールドが含まれます。これらの拡張機能は、Rock Ridge Interchange ProtocolとSystem Use Sharing Protocolの主要な開発者であるAndrew Youngの協力を得て、Angela Schmidtによって導入されました。Amiga拡張機能を備えたCD-ROMをマスタリングする最初の公開ソフトウェアは、Angela SchmidtがPatrick Ohlyと共同で開発したAmigaソフトウェアであるMakeCDでした。 [ 26 ]

Apple ISO 9660拡張機能

エル・トリトは、CD-ROMからコンピュータを起動できるように設計された拡張機能です。1994年11月に発表され[ 27 ] 、 IBMとBIOSメーカーのフェニックス・テクノロジーズの共同提案として1995年1月に初めて発行されました。伝説によると、ISO 9660のエル・トリトCD/DVD拡張機能は、カリフォルニア州アーバイン(北緯33.684722度、西経117.852547度)にあるエル・トリト・レストランで設計が始まったことからその名前が付けられました。 [ 28 ]最初の2人の作者は、フェニックス・テクノロジーズのカーティス・スティーブンスとIBMのスタン・マーキンでした。[ 28 ]北緯33度41分05秒 西経117度51分09秒 / / 33.684722; -117.852547

32ビットPC BIOSは、ISO 9660 CD-ROM上のブートコードを検索します。この規格では、2つの異なるブートモードが認められています。ハードディスクエミュレーションモードでは、ブート情報にCDメディアから直接アクセスできます。フロッピーエミュレーションモードでは、ブート情報はフロッピーディスクイメージファイルに保存され、CDから読み込まれて仮想フロッピーディスクとして動作します。フロッピーエミュレーションモードは、フロッピードライブからのみブートするように設計されたコンピュータに便利です。最近のコンピュータでは、一般的に「エミュレーションなし」モードの方が信頼性の高い方法です。BIOSはCDドライブにBIOSドライブ番号を割り当てます。割り当てられるドライブ番号(INT 13H)は、80 16進数(ハードディスクエミュレーション)、00 16進数フロッピーディスクエミュレーション)、またはBIOSがエミュレーションを提供しない場合は任意の番号です。エミュレーションは、古いオペレーティングシステムをCDからブートする場合に便利です。ハードディスクまたはフロッピーディスクからブートしたかのように見せかけるためです。[ 29 ]

UEFIシステムは、プラットフォーム0xEFとしてEl Toritoレコードも受け入れます。このレコードは、通常のディレクトリを含むEFIシステムパーティション\EFIであるFATファイルシステムを含むディスクイメージであることが想定されています。このイメージは「エミュレーションなし」としてマークされるべきですが、実際にはBIOSの「エミュレーションなし」モードのように動作しません。BIOSはイメージをメモリにロードし、そこからコードを実行します。[ 30 ]

El Toritoは、 GRUBブートローダーをCDに組み込み、マルチブート仕様に従うことで、 Linuxオペレーティングシステムを起動できるCDを作成するためにも使用できます。[ 29 ] El Torito仕様では「Mac」プラットフォームIDが言及されていますが、PowerPCベースのApple Macintoshコンピューターでは使用されていません。[ 31 ]

ロミオ

Jolietは、 Microsoftによって仕様が定められ、承認された拡張機能であり、 Windows 95 [ 32 ]およびWindows NT 4.0 [ 33 ]以降のすべてのバージョンのWindowsオペレーティングシステムでサポートされています。Jolietの主な目的は、ISO 9660に完全準拠することに伴うファイル名の制限を緩和することです。Jolietは、UCS-2 BE( Windows 2000以降はUTF-16 BE)でエンコードされた追加のファイル名セットを提供することでこれを実現します。これらのファイル名は特別な補助ボリューム記述子に格納され、ISO 9660準拠ソフトウェアによって安全に無視されるため、下位互換性が維持されます。[ 32 ]この仕様では、ファイル名の長さは最大64文字のUnicode文字までしか許可されていません。ただし、mkisofsのドキュメントでは、最大103文字のファイル名でも問題は発生しないようです。[ 34 ] Microsoftは「最大110文字まで使用できる」と文書化しています。[ 35 ]違いはCDXA拡張スペースが使用されるかどうかにあります。[ 34 ]

Jolietでは、ファイル名やボリューム名を含むすべてのテキストフィールドにUnicode文字を使用できます。タイプ2の「セカンダリ」ボリューム記述子には、プライマリボリューム記述子(セクター16、オフセット40バイト)と同じ情報が含まれますが、UCS-2BEではセクター17、オフセット40バイトに格納されます。そのため、ボリューム名は16文字に制限されます。

現在多くのPCオペレーティングシステムはJoliet形式のメディアを読み取ることができるため、非ローマ字文字(アラビア語、日本語、キリル文字など)が含まれる場合でも、オペレーティングシステム間でのファイル交換が可能になります。これは、以前はISO 9660形式のメディアでは不可能でした。Joliet形式のメディアを読み取ることができるオペレーティングシステムには、以下のものがあります。

ロックリッジ/ SUSP

RomeoはAdaptecによって開発され、最大128文字の長いファイル名の使用を可能にし、現在のコードページを使用してプライマリボリューム記述子に直接書き込まれます。このフォーマットは、Windows 9xおよびWindows NTの「CDFS」ドライバの動作に基づいて構築されています。[ 42 ]異なる言語のWindowsでRomeoディスクを開くと、コードページが指定されていないため、ファイル名に含まれる非ASCII文字が文字化けします例えば、「ü」が「³」になることがあります。別のOSでも同様の問題が発生するか、これらの非準拠の名前を完全に認識しない場合があります。

同じコードページ問題は、技術的にはISO 9660規格にも存在します。ISO 9660規格では、補足ボリューム記述子と拡張ボリューム記述子を、合意に基づく任意の文字エンコーディングに自由に解釈することが認められています。ただし、プライマリボリューム記述子はASCIIの小さなサブセットであることが保証されています。

Apple拡張機能

Apple Computerは、ProDOSまたはHFS / HFS+ (クラシックMac OSの主要なファイルシステム)のプロパティをファイルシステムに追加する一連の拡張機能を作成しました。追加のメタデータプロパティには、以下のものがあります。[ 43 ]

  • 最終バックアップの日付
  • ファイルの種類
  • 作成者コード
  • 表示用のフラグとデータ
  • リソースフォークへの参照

Appleは、Macintosh以外のシステムからCD-ROM上のMacintoshファイルにアクセスできるようにするために、標準ISO 9660形式の拡張版を使用することを選択しました。Apple固有のメタデータを除くほとんどのデータは、ISO 9660を読み込める オペレーティングシステムでのみ閲覧可能です。

その他の拡張子

拡張子をサポートしていないオペレーティングシステムの場合は、名前変換ファイルTRANS.TBLを使用する必要があります。このTRANS.TBLファイルはプレーンASCIIテキストファイルです。各行には、 任意の数の空白で区切られた3つのフィールドが含まれます

  • ファイルの種類 (ファイルの場合は「F」、ディレクトリの場合は「D」)。
  • ISO 9660 ファイル名(通常はファイルに対して隠されている「;1」を含む)
  • スペースを含む可能性のある拡張ファイル名。

TRANS.TBL ファイルを作成するほとんどの実装では、ファイル タイプと ISO 9660 名の間に 1 つのスペースが挿入され、ISO 9660 ファイル名と拡張ファイル名の間に任意の数のタブが挿入されます。

多くの ISO 9660 実装、特にUnixTRANS.TBL関連の実装では、 TRANS.TBLのネイティブサポートが依然として存在しています。しかし、このサポートは他の拡張機能に取って代わられて久しく、ISO 9660 イメージを作成する最新のユーティリティは TRANS.TBL ファイルを全く作成できないか、ユーザーが明示的に要求しない限り作成しなくなりました。TRANS.TBL ファイルは名前以外に特別な識別情報がないため、ファイルシステムの作成前に別途作成してディレクトリに含めることもできます。

ISO 13490規格は、ISO 9660フォーマットの拡張版であり、ディスク上での複数セッションのサポートを追加します。ISO 9660は設計上、読み取り専用のプリマスタリングファイルシステムであるため、すべてのデータは1回の書き込み、つまり「セッション」でメディアに書き込む必要があります。一度書き込んだ後は、保存されたコンテンツを変更することはできません。ISO 13490は、CD-Rなどの書き込み可能なディスクに複数のセッションでファイルを追加できるようにするために作成されました。

ISO 13346/ECMA-167規格は、ISO 13490規格と連携して設計されました。この新しいフォーマットはISO 9660の欠点のほとんどを解消し、そのサブセットはDVDに採用されたユニバーサル・ディスク・フォーマット(UDF)へと発展しました。ボリューム記述子テーブルはISO9660のレイアウトを維持していますが、識別子は更新されています。[ 44 ] [ 45 ]

ディスクイメージ

光ディスクイメージは、CD-ROMの内容を電子的に転送する一般的な方法です。ファイル名拡張子は.iso.iso9660あまり一般的ではありませんが、使用されています)であることが多く、一般的に「ISO」と呼ばれます。[ 46 ]

プラットフォーム

ほとんどのオペレーティングシステムはISO 9660フォーマットのディスクの読み取りをサポートしており、ほとんどの新しいバージョンはRock RidgeやJolietなどの拡張機能をサポートしています。拡張機能をサポートしていないオペレーティングシステムは通常、プレーンなISO 9660ディスクの基本(非拡張)機能を表示します

ISO 9660 とその拡張機能をサポートするオペレーティング システムは次のとおりです。

参照

参考文献

  1. ^ a b ECMA-119 - 情報交換のためのCD-ROMのボリュームとファイル構造 - 第4版、2019年6月、 Wayback Machine(2023年8月20日アーカイブ)(ECMA-119 - Ecma Internationalからリンク)
  2. ^「情報処理に関するワーキングペーパー:情報交換のためのCD-ROMのボリュームとファイル構造」光情報システム. 7 (1): 29– 49. 1987年1月.
  3. ^ 「情報交換用CDROMのボリュームとファイル構造」 Ecma International、1987年12月。2016年11月18日時点のオリジナルよりアーカイブ2003年11月5日閲覧。
  4. ^ a b情報交換用CD-ROMのボリュームとファイル構造(訂正版)ジュネーブ:国際標準化機構(ISO)。1988年9月1日。
  5. ^ a b Peters, Paul Evan (1989年7月). 「CD-ROM規格:Z39.60の運命」(PDF) . Information Standards Quarterly . 1 (3). National Information Standards Organization (NISO): 1– 3. ISSN 1041-0031 . 2016年11月18日時点のオリジナルよりアーカイブ(PDF) . 2016年11月18日閲覧 
  6. ^ Helliwell, John (1986年10月14日). 「90年代のプレミアム・リファレンス・ツール」 . PC Magazine : 150–164 . 2016年11月18日閲覧
  7. ^マネス、スティーブン、アンドリュース、ポール (1993). 『ゲイツ:マイクロソフトの大物、いかにして業界を改革し、アメリカで最も裕福な男になったか』ダブルデイ 336ページ。ISBN 0-385-42075-7
  8. ^アンダーソン、グレッグ(1987年6月)「CD-ROMの未来」エクスプローラー7 (3)。アタリ・エクスプローラー・パブリケーションズ:19。2016年1118日閲覧
  9. ^ 「標準ECMA-119: 情報交換用CDROMのボリュームおよびファイル構造」(PDF) (第1版)。1986年12月。
  10. ^ 「標準ECMA-119:情報交換用CDROMのボリュームとファイル構造」(PDF)(第2版再版)1998年9月[1987年12月]。2023年3月15日時点のオリジナルよりアーカイブ(PDF) 。 2022年12月30日閲覧
  11. ^コンパクトディスクの発明. 2021年3月5日時点のオリジナルよりアーカイブ2020年11月24日閲覧。
  12. ^ “Chip's CD Media Resource Center: CD-ROM page 6” . 2019年7月26日時点のオリジナルよりアーカイブ2020年11月24日閲覧。
  13. ^ “JIS X 0606:1998 / ISO 9660:1999 規格案” . 2018年12月28日時点のオリジナルよりアーカイブ2019年1月2日閲覧。
  14. ^ ISO 9660、修正 1 (ISO 9660:1988/Amd.1:2013(E))
  15. ^ a b「Standard ECMA-119」(PDF) . Ecma International . Ecma. p. vii. 2018年5月6日時点のオリジナルよりアーカイブ(PDF) . 2018年8月16日閲覧
  16. ^ ISO 9660、修正 2 (ISO 9660:1988/Amd.2:2020(E))
  17. ^ a b “ISO9660 Simplified for DOS/Windows” . 2021年3月6日時点のオリジナルよりアーカイブ2020年11月26日閲覧。
  18. ^ “ISO9660” . 2021年3月7日時点のオリジナルよりアーカイブ2020年11月26日閲覧。
  19. ^ ISO9660 セクション6.9および9.4.4
  20. ^ ISO 9660 セクション9.1.4
  21. ^ Pete (2006年4月2日). 「kern/95222: ISO9660 レベル3 CDのファイルセクションが無視される」 . freebsd-bugs (メーリングリスト). 2016年4月16日時点のオリジナルよりアーカイブ。 2007年9月19日閲覧
  22. ^ "linux/fs/isofs/Kconfig" . GitHub . 2022年1月23日.
  23. ^ 「任意属性交換プロトコル」
  24. ^ 「RRIP (IEEE P1282) ドラフト規格 1.12」(PDF) 1994年7月8日. 2017年4月4日時点のオリジナル(PDF)からのアーカイブ
  25. ^ “CDFS The Rock Ridge Interchange Protocol (RRIP, IEEE P1282)” . 2016年3月4日時点のオリジナルよりアーカイブ2020年11月24日閲覧。
  26. ^ Angela Schmidt、Patrick Ohly. 「Amiga MakeCD Support Page」(ドイツ語). 2020年10月28日時点のオリジナルよりアーカイブ。 2017年4月4日閲覧
  27. ^ 「Phoenix社、ブート可能CD-ROM仕様を発表。仕様はPhoenix社とIBMが共同で開発」 (プレスリリース)。Phoenix Technologies Ltd.、1994年11月11日。 2017年8月10日時点のオリジナルよりアーカイブ。 2008年1月31日閲覧
  28. ^ a b Parker, Dana J. 「Fresh Tortillas and CD-ROM Standards: The El Torito Bootable CD-ROM Specification」 CD -ROM Professional . 第8巻、第7号。1999年10月8日時点のオリジナルよりアーカイブ。 2008年1月31日閲覧
  29. ^ a b “El-Torito” . OSDev . 2020年11月27日時点のオリジナルよりアーカイブ。 2015年1月3日閲覧
  30. ^ “13. プロトコル – メディアアクセス — UEFI仕様2.10ドキュメント” . uefi.org . 2024年10月7日時点のオリジナルよりアーカイブ2024年10月5日閲覧。
  31. ^ “Bootable hybrid (ISO/HFS) CD-ROMs” . 2021年2月28日時点のオリジナルよりアーカイブ2014年1月3日閲覧。
  32. ^ a b c d「CD-ROMのJoliet仕様」。Microsoft Knowledge Base。Microsoft。2005年7月11日。MSKB 125630。2013年5月25日時点のオリジナルよりアーカイブ。 2012年5月29日閲覧
  33. ^ 「CDFSファイルシステムにおけるWindows NTの長いファイル名のサポート」。Microsoft Knowledge Base。Microsoft。2006年11月1日。MSKB 142372。2009年10月17日時点のオリジナルよりアーカイブ。 2012年5月29日閲覧
  34. ^ a bmkisofs(8)  –  FreeBSDシステム管理者マニュアル
  35. ^ 「5 付録A:製品の動作」2014年4月20日時点のオリジナルよりアーカイブ2014年4月13日閲覧。
  36. ^ Jeff Tranter (2001年7月18日). 「MicrosoftのJolietファイルシステムはサポートされていますか?」 . Linux CD-ROM HOWTO . リビジョン1.17. 2020年8月8日時点のオリジナルよりアーカイブ。 2012年5月29日閲覧
  37. ^ "hdiutil(1)" . BSD 一般コマンドマニュアル. Mac OS X バージョン 10.7.4. Apple. 2011年3月18日. 2012年6月9日時点のオリジナルよりアーカイブ。 2012年5月29日閲覧
  38. ^ 「FreeBSD 3.2 リリースノート」 . FreeBSD プロジェクト. 2018年12月22日時点のオリジナルよりアーカイブ2012年5月29日閲覧。
  39. ^ "hsfs - High Sierra & ISO 9660 CD-ROM ファイルシステム" . OpenSolaris マニュアルページセット. SunOS 5.11 / OpenSolaris 2009.06. 2006年11月1日. 2012年5月29日閲覧
  40. ^ “Haiku Source Tree, src/add-ons/kernel/file_systems/iso9660/iso9660.cpp” . 2023年4月5日時点のオリジナルよりアーカイブ。 2020年11月24日閲覧
  41. ^ 「Joliet形式のCD-ROMのサポートを追加 hdr/Hashes s/Directory s/EntryFile s/FileMan s/Filer s/Free (999bdda6) · コミット · RiscOS / Sources / FileSys / CDFS / CDFS」 2013年8月15日。
  42. ^ 「CD-ROMディスク:JolietとRomeoの名称定義」 Apple Inc. 2007年6月1日。2014年3月14日時点のオリジナルよりアーカイブ2010年7月20日閲覧。
  43. ^ 「テクニカルノート FL36: Apple Extensions to ISO 9660」 。2008年12月26日時点のオリジナルよりアーカイブ
  44. ^ 「ECMA-167 - 情報交換のための非シーケンシャル記録を用いたライトワンスおよび書き換え可能メディアのボリュームおよびファイル構造」(PDF)2020年9月22日時点のオリジナルよりアーカイブ(PDF) 。 2013年4月30日閲覧
  45. ^ “Birth Announcement: ISO/IEC 13346 and ISO/IEC 13490” . 2013年2月19日時点のオリジナルよりアーカイブ2013年4月30日閲覧。
  46. ^ Gavin, Brady (2018年6月25日). 「ISOファイルとは(そしてどのように使うのか)?」 How -To Geek . 2021年12月23日時点のオリジナルよりアーカイブ。 2021年12月23日閲覧
  47. ^ 「Virtual GS: Apple IIエミュレータでのISOディスクイメージの使用」(PDF) . Juiced.GS 第9巻 第2号 2004年5月. 2010年3月31日時点のオリジナルよりアーカイブ(PDF) . 2009年5月27日閲覧
  48. ^ 「PCで作成されたJoliet Level 3 CDの操作」 2004年4月16日。 2015年9月6日時点のオリジナルよりアーカイブ2017年12月10日閲覧。
  49. ^ 「OpenVMS よくある質問(FAQ)」 Hoffman Labs。2017年11月19日時点のオリジナルよりアーカイブ2011年9月1日閲覧。

さらに詳しい参考文献