ISO9660

Aus Lowlevel
Version vom 7. September 2008, 23:09 Uhr von Bluecode (Diskussion | Beiträge) (Kategorie und Link zur ECMA Spec)
Wechseln zu:Navigation,

iso9660 ist ein Dateisystem das extra zur Benutzung auf CDROMs entworfen wurde. Es ist ähnlich wie FAT aufgebaut, außer das normalerweise Dateien nicht fragmentiert werden und dass man damit rechnet, dass nicht geschrieben wird.

Dateien

Die Form und Art der Dateien ähneln sich sehr, der von FAT. Dateinamen sind auf 8.3 Zeichen (8 Zeichen Name, 1 Punkt und 3 Zeichen Erweiterung) beschränkt. Außerdem dürfen Dateinamen nur aus Großbuchstaben, Ziffern oder dem Untestrich gebildet werden. Es gibt maximal 8 Ebenen an Verzeichnissen.

BothEndian

Viele Multibytewerte werden bei iso9660 also BothEndian gespeichert. D.h erst kommt der Wert in LittleEndian dann in BigEndian. Multibytewerte werden in diesem Artikel wie folgt bezeichnet:

* Little Endian (LE)
* Big Endian (BE)
* Both Endian (XE)

Zu beachten ist natürlich dass z.B ein 4byte großer BothEndian-Wert nur ein Word ist.

Allgemeiner Aufbau

Die ersten 16 Sektoren sind Systemspezifisch, danach folgen in einigen Sektoren die sogenannten Volume-Deskriptoren. Ein Sektor hat normalerweise eine Größer von 2048 Bytes, kann aber auch eine Andere Größe haben. Nach den Volume-Deskriptoren liegen Pathtables und Datensektoren (Sektoren die Datei oder Verzeichnis-Informationen enthalten).

Volume-Deskriptoren

Es gibt 2 wichtige Typen an Volume Deskriptoren:

* Primäre Volume-Deskriptoren: Enthalten wichtige Informationen über das Dateisystem
* Terminierender Volume-Deskriptor: Zeigt das Ende der Volume-Deskriptoren an.

Volume-Deskriptoren füllen immer einen ganzen Sektor aus und fangen mit dem Typ und der Signatur an:

Offset Größe Beschreibung
0x00 1 Typ
0x01 6 Signature

Danach folgen Typabhängige Daten.

Primärer Volume-Deskriptor

Offset Größe Beschreibung
0x00 1 Typ
0x01 6 Signature
0x07 1 Null
0x08 32 System-Identifizierer*
0x28 32 Volume-Identifizierer*
0x48 8 Null
0x50 8 Number of sectors (XE)
0x58 32 Null
0x78 4 Setgröße (XE)
0x7C 4 Sequenznummer (XE)
0x80 4 Sektorgröße (XE)
0x84 8 Pathtablegröße (XE)
0x8C 4 Sektor der 1. Pathtable (LE)
0x90 4 Sektor der 2. Pathtable (LE)
0x94 4 Sektor der 1. Pathtable (BE)
0x98 4 Sektor der 2. Pathtable (BE)
0x9C 34 Verzeichniseintrag des Rootverzeichnis
0x118 128 Volume-Set-Identifizierer
0x198 128 Hersteller-Identifizierer
0x218 128 Data-Preparer-Identifizierer
0x318 128 Application-Identifizierer
0x418 37 Copyright-Identifizierer
0x43D 37 Abstract-File-Identifizierer
0x462 37 Bibliographical-File-Identifizierer
0x487 17 Erstellungsdatum
0x498 17 Modifikationsdatum
0x4A9 17 Ablaufdatum
0x4BA 17 Effektivdatum
0x4CB 1 One (1)
0x4CC 1 Zero
0x4CD 512 Reserviert für Application-Benutzung
0x6CD 653 Zero
  • Diese Namen werden mit Leerzeichen (0x20) aufgefüllt um alle 32 Byte zu füllen

Terminierender Volume-Deskriptor

Verzeichniseintrag

Rockridge

Links