File Allocation Table (FAT)

File Allocation Table


Einleitung:
Fat ist abgekürzt und heisst File Allocation Table was auf Deutsch soviel wie Dateizuordnungstabelle bedeutet. Ich möchte mit diesem Text die FAT näher bringen, was in 10 Minuten nicht ganz gelingt. Ferner möchte ich noch einen kleinen Einblick in andere Filesystems werfen.
Zu Begin muss ich ein bisschen ausholen und möchte euch erklären wie die Struktur auf einer mit FAT - formatierten Harddisk aussieht.


Dateiarchitektur und sinnvolle Partitionierung:
Wenn man zum Beispiel eine neue HD in einen PC einbaut muss man diese zuerst partitionieren indem man sich mit dem bei MS - DOS enthaltenem Tool Fdisk bedient. Mit diesem kann man mehrere Partitionen und virtuelle Lauf - werke einrichten. Das heisst bei nur einer physikalischen Platte stehen nach diesem Vorgang mehere Laufwerke zur Verfügung. Dies macht in sofern einen Sinn weil die HD immer grösser werden und das DOS langsam aber sicher an die Grenze der adressierbaren Bereiche bringt.
MS - DOS resp. FAT kann nähmlich pro Laufwerk ganze 65536 (2E16) Cluster adressieren. Cluster, das sind die kleinsten Zuordnungseinheiten die ein Datenträger unter FAT haben kann. Ein Cluster ist mindestens 512 Byte gross, dies hängt wiederum von der Grösse des LW ab. Bei den oben genannten 512 Byte Grösse der Clusters und deren Anzahl von 65536 ergibt das einen Speichplatz von 32 MB. Da dieses Volumen schon seit einiger Zeit überholt ist nehmen wir eine grösse von einem GB an. Dies würde anhand der max. Anzahl der Clusters von 65536, 16Kb grosse Cluster geben.
Das eigentliche Problem liegt darin, dass wir bei der steigenden Grösse der Cluster auch mehr Platzverluste haben. Weil jede Datei und sei sie noch so klein - beansprucht dabei min. einen Cluster auf der HD, der in der FAT als belegt markiert wird. Die Differenz zwischen dem tatsächlichen benötigtem und dem auf der Platte belegten Platz geht also auf dem Verwaltungsweg flöten. Sind die Cluster klein genug ist das kein Problem. Unglücklicherweise besitzt das FAT - Dateisystem konstante Zahlen von Clustern. Siehe Tabelle.

Clustergrösse x
max. Clusterzahl =
max. Partition
512 Bytes
65 536
33 554 432 (=32MB)
1024 Bytes
65 536
67 108 864 (=64MB)
2048 Bytes
65 536
134 217 728 (=128MB)
4096 Bytes
65 536
268 435 456 (=256MB)
8192 Bytes
65 536
536 870 912 (=512MB)
16384 Bytes
65 536
1073 741 824 (=1024MB)
32768 Bytes
65 536
2147 483 648 (=2048MB)

Die Folge: Die Cluster werden auf grossen Partitionen entsprechend unhand - lich. Da jede Datei min. einen Cluster belegt, ist der Platzverlust sehr hoch - vor allem bei kleinen Dateien. Ein Beispiel: 500 Dateien a 600 Byte benötigen theoretisch 300Kb. Auf einer 1,2 - GB - Partition belegt jede dieser Dateien 32 Kb, also insgesamt 15,6 MB ! Daher ist es zusätzlich sinnvoll mehrere Partitionen einzurichten.
FAT was ist das ?


FAT wie schon oben erwähnt heisst auf Deutsch Dateizuordnungtabelle. Diese Tabelle befindet sich in den ersten Sektoren einer Harddisk (hinter dem soge - nannten Boot - Loader) und enthält Informationen zum auffinden der Dateien. Aus Gründen der Sicherheit ist die FAT noch ein zweites Mal auf der Festplatte abgelegt. So kann sie im Falle einer Beschädigung wiederhergestellt wer - den. Der Boot - Loader enthält die Bootinformation, die das Betriebsystem zum Booten benötigt. Er beginnt auf dem ersten Sektor der aktiven Partition. Bei einer FAT - Partition ist dieser Bereich genau einen Sektor gross. Das FAT - Dateisystem ist in sogenannten Sektoren, Clustern, Spuren und Zylindern organisiert.



Bild: Organisation einer FAT - formatierten Harddisk

Performance ausgebremst:
Wenn man nun eine Datei auf der Harddisk erstellt, wird im Verzeichnisbereich der HD ein Verzeichniseintrag angelegt. Gleichzeitig nimmt die FAT den ersten Cluster, der Daten der Datei enthält, auf. Die FAT ist bei jeder neu auf den Datenträger kopierten oder geänderten Datei zu aktualisieren. Dieser Vorgang ist recht zeitaufwendig, da sich die FAT am Anfang des Mediums befindet und die Schreib - /Leseköpfe daher jedesmal auf der Spur 0 des Datenträgers zu positionieren sind. Ferner ist beim FAT keine Struktur vorhanden. Die Daten erhalten einfach den ersten verfügbaren freien Platz auf dem Datenträger. Bei einer sehr strak fragmentierten Festplatte kommt es daher bei grösseren Dateien, die nicht mehr in einem Stück auf dem Medium abgelegt sind, zu erheblichen Geschwindigkeiteinbussen beim Lesen und Schreiben. Bei der Namensvergabe zeigt sich FAT recht rückständig, verglichen mit andern Dateisystemen unterstützt FAT nur 8 Stellen mit einem 3 stelligen Sufflix. Diese Konstellation nennt man 8.3 - Konvetion. Zwischen Gross - und Klein - schreibung wird nicht unterschieden. Auch erlaubt FAT nur maximal 8 untereinader stehende Unterverzeichnisse. FAT besitzt noch weitere Einschränkungen, die ich jetzt der Zeit wegen nicht aufzählen möchte. Trotzdem bleibt das mit geringem Verwaltungsaufwand auskommende FAT die erste Wahl für kleine Harddisks und Homeusers.

Andere Dateisysteme kurz vorgestellt:

V - FAT (Windows 95)
Mit der Entwicklung von Windows 95 sah sich auch Microsoft genötigt, das betagte FAT - Dateisystem durch einen leistungsfähigeren Nachfolger zu ersetzen. Das Ergebnis heisst V - FAT soviel wie Virtual - FAT.
V - FAT unterstützt bis zu 255 Zeichen umfassende Dateinamen. Sogar in einer DOS - Box behalten sie ihre Gültikeit. Ferner unterscheidet es zwischen Gross - und Kleinschreibung, konventiert aber alle im 8.3 Format vorliegenden Dateinamen, wie das FAT - Dateisystem, in grosse Buchstaben um.
Um jedoch alten Programmen, die beim Zugriff auf die Festplatte das FAT - Format erwarten (Virenscanner, Reparaturprogramme, Defragmentierer) unter Windows 95 eine Existentsberechtigung zu geben, hat Microsoft an der Grundstruktur des FAT nur wenig geändert.


HPFS (OS/2)
Ab OS/2 Version 1.2 stattete IBM OS/2 mit dem HPFS - Dateisystem (High Performance File System) aus. Eine bessere Verwaltung und Performance grosser Harddisks sowie eine flexiblere Namensgebung sind die Haupt - argumente die für HPFS sprechen.
HPFS nutzt die Verzeichnisstruktur von FAT, ergänzt um die Fähigkeit, das Verzeichnis nach Dateinamen zu sortieren. Zur Namensvergabe sind 254 Zeichen erlaubt, wobei auch HPFS nicht zwischen Gross - und Kleinschreibung unterscheidet. Unter HPFS findet man keine Cluster. HPFS arbeitet nit 512 Byte grossen Sektoren. Zum schnellen Lesen und Schreiben von Dateinen versucht HPFS, Dateien in zusammenhängenden Sektoren abzuspeichern. Dazu wird die HD in Einheiten zu je 8MB organisiert.

NTFS (Windows NT)
Obwohl sich NTFS (New Technology File System), das Dateisystem von Windows NT, aus Sicht des Anwenders sehr ähnlich zu FAT oder auch HPFS verhält gibt es doch erhebliche Unterschiede. NTFS erfüllt sogar die strengen Sicherheitsbestimmungen des US - Verteigungsministeriums.
Die Dateien einer NTFS - Partition von einem DOS - oder HPFS - Datenträger sind nicht sichtbar oder manipulierbar. Auch lassen sich Zugriffsrechte wie unter Unix einrichten. Zudem wurde bei der Entwicklung von NTFS ein Schwerpunkt auf eine saubere Wiederherstellung nach einem Systemabsturz gelegt: Das Betriebsystem schreibt jede Aktualisierung im Dateisystem in eine Log - Datei. Kommt es zu einem Systemabsturz, führ NT beim nächsten hochfahren einen CHKDSK aus. Dabei sind nur Dateien zu überprüfen die nicht in der Log - Datei stehen.
NTFS organisiert seine Daten in Clustern, wobei die Clustergrösse 512, 1024, 2048, 4096 Byte betragen kann. Die gewünschte Grösse ist bei der Formatierung anzugeben. Als 64 - Bit Dateisystem ist NTFS in der Lage, 2E64 Byte, also 17 Milliarden GB zu verwalten. NTFS ist erst für Partitionen über 400MB zu empfehlen. Gerade bei kleinen Platten macht sich der grosse Bedarf an Plattenplatz für die Systemdateien bemerkbar. Sie beanspruchen immerhin mehr als 4MB pro 100MB Festplattenkapazität.

1217 Worte in "deutsch"  als "hilfreich"  bewertet