Von Clustern und Tracks

E-Books


MS-DOS Kurs


2. Wie Daten gespeichet werden

Der erste Sektor eines jeden Datenträgers ist reserviert und enthält alle Informationen zum Format sowie die Boot-Routine, Text? sofern es sich um eine Systemdiskette handelt. Die nächsten Sektoren nehmen die Einträge des Hauptverzeichnisses (Root-Directory) auf. Je nach Größe des Datenträgers werden dafür 7 bzw. 14 Sektoren reserviert, bei Festplatten können es auch noch mehr sein. Damit ist vorgegeben, wie viele Dateien oder Unterverzeichnisse maximal im Hauptverzeichnis stehen können.
Ein Verzeichniseintrag ist 32 Byte lang und enthält den Dateinamen, das Datum und die Uhrzeit der letzten Änderung, die Größe, die Attribute und den Zeiger auf die Liste der belegten Speicherblöcke. Tafel 3 Text? zeigt den Aufbau eines Verzeichninseintrages. Sie können sich die Einträge eines Datenträgers mit PC-Tools und der Funktion Edit im Diskmenü ansehen. MS-DOS verwaltet zur Speicherung von Dateien nicht die einzelnen Sektoren, sondern faßt mehrere Gruppen, den sogenannten Clustern (deutsch: Büschel), zusammen. Wieviele Sektoren ein Cluster bilden, hängt von der Kapazität des Datenträgers ab. Dieses Vorgehen bringt zwei Vorteile: Zum einen braucht DOS zur Kennzeichnung eines Clusters nur
Bild 2 Aufteilung der ersten Spur einer 360-Kbyte-Diskette

dessen Nummer, statt Platten-, Spur- und Sektornummer, zum anderen kann die Gesamtzahl von Clustern auch auf großen Platten annährend konstant gehalten werden, indem eine größere Anzahl von Sektoren einem Cluster zugeordnet werden.
Der Nachteil dieser Verfahrensweise ist aber auch offensichtlich - jede Datei wird auf ein volles Cluster aufgefüllt. So kann es sein, daß eine nur wenige Byte große Datei auf einer Festplatte 8KByte einnimmt. Lassen Sie sich nicht dadurch täuschen, daß die DOS-Befehle (z.Bsp. DIR) nur die wirkliche Größe anzeigen. Aus Tafel 4 können Sie üblichen Clustergrößen entnehmen, es sind aber auch andere Einstellungen denkbar. Es gilt hier - wie wohl immer im Leben - einen sinnvollen Kompromiß zu finden, in diesem Fall zwischen Verwaltungsaufwand und Speicherplatz.
Um die Zuordnung der Cluster zu den Dateien vornehmen zu können und bei Bedarf leere Cluster zu finden, verwaltet DOS eine Speicherbelegungstabelle, die sogenannte FAT (File Allocation Table). Ein Verzeichniseintrag beinhaltet nur die Nummer des ersten von der betreffenden Datei belegten Clusters, unter dessen Nummer in der FAT kann DOS dann die Nummer des nächsten zu dieser Datei gehörenden Clusters erfahren, usw. Ungenutze Cluster sind in der FAT als solche gekennzeichnet. Daraus ist auch ersichtlich, daß Dateien nicht auf zusammenhängenden Bereichen der Datenträger gespeichert werden müssen, ein Umstand, den man Fragmentierung nennt. Befinden sich auf einem Datenträger viele kleine Lücken (etwa durch das Löschen kleinerer Dateien), so werden künftig Dateien beim Anlegen oder Kopieren stark fragmentiert (zerstückelt) abgespeichert, was längere Ladezeiten mit sich bringt, weil die Datei auf der Platte erst zusammengesucht werden muß. Hier spielt somit auch die Positioniergeschwindigkeit der Köpfe eine Rolle.
Tafel 3 Beispiel eines Verzeichniseintrages
44 4F 53 36 20 20 20 20 44 4F 43 01 00 00 00 00 00 00 00 00 00 00 C0 86 7C 15 03 00 80 A3 00 00
Byte Inhalt Beispiel
1-11 Dateiname DOS6 DOC
12 Dateiattribute 01=ReadOnly
23-24 Zeit
Darstellung
Byte 24:
hhhhmmm
Byte 23:
mmmssss
C086=12.54 Uhr
25-26 Datum
Darstellung:
Byte 26:
yyyyyyym
Byte25:
mmmddddd
year=0 entpricht
1980
7C15=28.11.90
27-28 Nummer der ersten
von der Datei
DOS6.DOC belegten
Clusters Darstellung:
Byte 28: High-Teil
Byte 26: Low-Teil
3000=3. Cluster
29-32 Dateigröße
Darstellung:
Byte 31-32:
High-Teil
Byte 28-29:
Low-Teil
80 A3 00 00 = 41856 Byte
Tafel 4 Mögliche Verwaltungseinteilung einiger Datenträger
Datenträger
Boot-Sektor Directory Maximale Anzahl der Sektoren FAT-Sektoren Sektoren je Cluster
Diskette
360 KByte 1 7 112 4 1
720 Kbyte 1 7 112 10 2
1,2 Mbyte 1 14 224 14 4
Festplatte
10 Mbyte 1 32 512 16 8

(c) Jürgen Richter