Filesystems

Dateisysteme - Das steckt hinter NTFS und Co.

14.09.2014
Von 
Mehr über Hermann Apfelböck erfahren Sie unter http://apfelböck.de.
Windows, Linux oder Mac-OS: Alles, was am PC geschieht, setzt eine gespeicherte Datei voraus. Anhand von NTFS skizzieren wir, wie Betriebssysteme die Dateien verwalten.

Den meisten Platz auf Ihrer Festplatte belegen Benutzer- und Programmdateien. Diese Daten können Sie sich im Windows-Explorer oder über Anwendungsdialoge anzeigen lassen. Auf gewünschte Dateien greifen Sie über die Ordner- und Dateinamen zu. Doch was geschieht unter der Motorhaube des Betriebssystems, wenn Sie ein Verzeichnis öffnen oder eine Datei laden? Kurz: In diesem Beitrag erklären wir Ihnen die Logik des Dateisystems.

Foto: beawolf - Fotolia.com

Master File Table und Cluster

Die Tatsache, dass sich Dateien über Namen, Extensionen oder Datumsangaben aufrufen oder filtern lassen, ist ein scheinbar selbstverständlicher Systemservice. Intern erfordert das aber einigen Verwaltungsaufwand, denn das zugrunde liegende Dateisystem hat mit Namen nichts am Hut: Es verwaltet die Dateien anhand durchnummerierter Zuordnungseinheiten – Blöcke oder Cluster. Die Einteilung einer Festplattenpartition in solche Cluster erfolgt bei der Formatierung, wobei ein einzelner Cluster in der Regel die Größe von vier Kilobyte erhält. Kleinere oder größere Cluster sind optional möglich. Ebenfalls bei der Formatierung wird ein Verwaltungsregister erstellt, das künftig alle Dateien und Ordner aufnimmt. Unter Windows NT (XP, Vista, 7, 8) ist dies die versteckte Datei „$MFT“ im Root-Verzeichnis, die Master File Tabelle. Diese Mutter aller weiteren Dateien erhält vorab ein Achtel des kompletten Speicherplatzes reserviert.

Für den Benutzer stellen sich die Daten als hierarchisch strukturiert dar. Tatsächlich handelt es sich um einen Byte-Chaos, das nur durch das Master File Table und durch Zeiger auf die passenden Cluster geordnet wird. Programm, Text, Bild – alles liegt in kunterbuntem Nebeneinander auf der Platte, oft auch in Bruchstücken (Fragmenten).


Nicht einmal zwischen Ordner und Datei besteht ein fundamentaler Unterschied: Ein Ordner ist wie eine Datei auch nur ein Datensatz in der MFT, lediglich mit dem Attribut „Ordner“. Und das Ordnerattribut bedeutet nur, dass der Inhalt in der MFT (oder in zusätzlichen Clustern) lediglich aus weiteren Dateinamen besteht. Selbst der Partitionsname (Label) ist ein MFT-Datensatz und somit eine Datei.

Wenn möglich, schreibt das Dateisystem den kompletten Inhalt einer Datei oder eines Ordners direkt in das Master File Table. Da ein Datensatz in der MFT aber typischerweise nur ein KB (1024 Bytes) umfasst, gelingt dies nur bei sehr kleinen Dateien (kleiner als circa 800 Bytes) und nur bei Ordnern mit sehr wenigen Untereinträgen.

In den meisten Fällen muss der Dateiinhalt außerhalb der MFT in freien Festplatten-Clustern abgelegt werden. Der Datensatz der MFT enthält aber in jedem Fall an Byte-definierter Stelle den Dateinamen und weitere Eigenschaften wie das Erstelldatum, die Dateirechte, das Schreibschutzattribut oder das Attribut „Verschlüsselt“.

Teil eines MFT-Eintrags (vereinfacht): Das System muss den Dateiinhalt aus Clustern einsammeln. die MFT zeigt nur die Anzahl der Cluster und die Kennziffer des Start-Clusters. Bei fragmentierten Fateien notiert die MFT mehrere Cluster-Blöcke.
Teil eines MFT-Eintrags (vereinfacht): Das System muss den Dateiinhalt aus Clustern einsammeln. die MFT zeigt nur die Anzahl der Cluster und die Kennziffer des Start-Clusters. Bei fragmentierten Fateien notiert die MFT mehrere Cluster-Blöcke.