ISO 9660とマルチセッション
 プレス型のディスクを前提にしているのならば、つまりCD-ROMだけに用途を限定するのなら、ISO 9660はフィックスされたままであった方が都合がいいのですが、このファイルシステムを生かしながら追記をしていこうすると、今度はパステーブルの存在は障害になってきます。パステーブルも「親子関係」を保持したディレクトリも、追記をするためにすべて書き換えなければならないのですから……。

 他に代わるファイルシステムもなく、どうすればいいのでしょうか。

 その前にもう少しISO 9660のファイルシステムの中身についてお話しておきますと、前項で、ISO 9660は「ボリューム記述子」(VD=Volume Descriptor)というもので管理されている、と述べました。

 このVDには、PVD(Primary Volume Descriptor=主ボリューム記述子)、SVD(Supplementary Volume Descriptor=副ボリューム記述子)、VPD(Volume Partition Descriptor=ボリューム区画記述子)……などがあり、それぞれに位置(論理セクタ番号)が決まっています。

 このうち、PVDには、ボリュームの属性やルートディレクトリの位置、パステーブルの位置などが記述されており、また、ディスク上の位置は、第一トラックの第17フレーム目(論理セクタ番号16)になければならないと定められています(シングルセッションのディスクの場合)。したがって、CD-ROMドライブの光ヘッドは、17フレーム目にあるこのPVDを読みに行けば、そこから他のディレクトリやファイルにアクセスできることになります。PVDはディスクの“起点”とも言えるものです。下にシングルセッションにおけるPVDやパステーブル、データの構造を示しました。

 シングルセッションの場合にはこれでいいのですが、マルチセッションとは、最初のセッションのリードアウトの外側にさらに「リードイン、データ、リードアウト」を“継ぎ書き”していくことで、そうして新しいディレクトリやデータが追加されると、以前の古いPVDやパステーブル、ポインタはまったく機能しなくなってしまいます。とくに「親子関係」がネックで、ディレクトリが変わるとその下の階層に属すポインタが使えなくなり、下部のディレクトリやファイルにアクセスできなくなります。

 この障害をどう克服したらいいのでしょうか。

 結論から言うと、以下のとおりの約束事を定めたのです。

ISO 9660の構造
ISO 9660の構造

 「CD-ROMのPVDは最終セッションの最初のトラックの17セクタ目にある」と。

 つまり、マルチセッションの最終セッションのPVDの中には、新しく加わったファイルやディレクトリの他に、旧セッションを含む全ディスクのパステーブルおよびディレクトリが再構築(ポインタの張り直しなど)されており(上図)、これで追記を実現したのです(若干のデバイスドライバやハードウエアの変更を伴いますが……)。もちろん一つしかセッションがない場合は、最終セッションの最初のトラックとは第一トラックのことですから、いままでのCD-ROM もこの約束で読むことが可能です。

 ファイルシステムに手を加えず比較的容易に実現できるこの追記は、「PhotoCD型マルチセッション方式」あるいは「ラストPVD方式」と呼ばれ、コダックがPhotoCDの規格を策定するに当たって定めめたものです。ISOのような国際標準ではありませんが、ISO 9660におけるマルチセッション実現の事実上の標準となっています。