Dateisystem

Inhaltsverzeichnis
Woraus besteht das Dateisystem?
Wie arbeitet das Dateisystem?
Sektoren und Cluster
FAT – die Dateibelegungstabelle
Wo ist noch Platz frei?
Welche Dateisysteme gibt es?
Verwandte Themen
Übersicht Software
Übersicht Dateisysteme
Wie funktioniert ein Dateisystem
Defragmentierung
Dateisystem NTFS, Journal, Benutzergruppen und -rechte
Dateisysteme für Festplatten
Dateisysteme für CD und DVD

Dateisystem

Ein Dateisystem hat die Aufgabe, Dateien auf einem Massenspeicher zu speichern, den Massenspeicher zu verwalten und die gespeicherten Dateien zum Lesen bereitzuhalten.

Woraus besteht das Dateisystem?

Das Dateisystem entsteht beim Formatieren einer Partition. Dabei werden zwei Tabellen angelegt:

  • Ein Inhaltsverzeichnis (Directory) für die Liste der gespeicherten Dateien. Dabei wird für jede Datei der Dateiname, die Länge (Bytezahl) und die Position auf dem Datenträger gespeichert. Je nach Art des Dateisystems kommen für jede Datei weitere Informationen hinzu: Datum und Uhrzeit der Erstellung und der letzten Änderung sowie Attribute (Dateikennzeichen), z. B. „read only“ (das bedeutet, die Datei ist schreibgeschützt). Weitere Attribute sind „Versteckt“ (Hidden), „System“ und „Archiv“.
  • Die Gesamtkapazität des Massenspeichers wird in Verwaltungseinheiten, engl. Cluster, unterteilt. Bei der Formatierung wird eine Dateibelegungstabelle (engl. File Allocation Table) angelegt mit so vielen Einträgen, wie es Verwaltungseinheiten gibt. Für jede Verwaltungseinheit ist in dieser FAT gespeichert, ob der Speicherplatz frei, belegt oder defekt ist.

Wie kann man sich die Arbeit des Dateisystems vorstellen?

Sie haben einen Brief geschrieben. Sie klicken auf „Speichern unter …“, wählen einen Ordner aus und geben der Datei einen Namen. Indem Sie auf „Speichern“ klicken, übergibt das Schreibprogramm den Text an das Dateisystem, welches die folgende Aufgaben lösen muss:

  • Zwischen einigen zehn- bis hunderttausend Dateien muss eine ausreichend große Lücke auf der Festplatte gefunden werden.
  • Die Datei muss dort abgelegt werden.
  • Der benutzte Speicherplatz auf der Festplatte muss als belegt gekennzeichnet werden.
  • Im Inhaltsverzeichnis muss ein freier Platz für den neuen Eintrag gefunden werden. Falls das Inhaltsverzeichnis voll ist, muss es zuvor vergrößert werden.
  • Dateiname, Länge, Datum, Uhrzeit und andere Dateimerkmale werden in das Inhaltsverzeichnis eingetragen.
  • Eine Rückmeldung an das Betriebssystem muss erfolgen (hoffentlich „OK“, aber vielleicht auch „Schreibfehler“ oder „Festplatte ist voll“ oder anderes).

Sektoren und Cluster

Der Sektor ist die kleinste Speichereinheit des Datenträgers. Auf Disketten und Festplatten ist der Sektor mit 512 Byte der kleinste Datenblock. Eine Diskette mit 1,44 MB Kapazität verfügte über 2880 Sektoren. Demnach musste die FAT Platz für 2880 Einträge haben, damit für jeden einzelnen Sektor notiert werden kann, ob er frei, belegt oder defekt ist.
Die Anzahl der Sektoren auf heutigen Festplatten ist unvorstellbar groß. Die Kapazität einer 500-GB–Festplatte, geteilt durch 512 Byte, ergibt fast eine Milliarde Sektoren. Man würde eine Verwaltungstabelle (FAT) mit einer Milliarde Einträgen brauchen, um für jeden einzelnen Sektor vermerken zu können, ob er frei oder belegt ist. Eine Milliarde Einträge zu durchsuchen, um eine freie Stelle auf der Festplatte zu finden – das würde auch einen schnellen PC in die Knie zwingen! Deshalb werden mehrere Sektoren zu Verwaltungseinheiten (engl. „Cluster“) zusammengefasst, um den Verwaltungsaufwand zu verringern. Je nach Festplattengröße gehören 8, 16, 32 oder 64 Sektoren (4k bis 32k Byte) zu einem Cluster. Weil das Dateisystem auf großen Festplatten jeweils 64 Sektoren zu einem Cluster zusammenfasst, müssen statt einer Milliarde Sektoren „nur noch“ 16 000 000 Cluster verwaltet werden. Bei Benutzung des Dateisystems „FAT32“ (siehe Erläuterungen unter „Liste der Dateisysteme“) hätte die FAT 16 Millionen Einträge, jeder davon 32 Bit lang, das ergibt 64 MByte für die FAT.
Das ist immer noch eine große Menge, und die Festplatten werden jedes Jahr um etwa 40 % größer. Die Festplattenhersteller haben sich deshalb geeinigt, beginnend ab dem Jahr 2011 die Sektorgröße von 512 auf 4096 Byte umzustellen. Dann hätte eine 500–GB–Festplatte zukünftig „nur noch“ etwa 2 000 000 Cluster.
Je kleiner die Anzahl der Einträge in der FAT, desto schneller kann das Betriebssystem freien Speicherplatz finden. Je größer die Cluster, desto kleiner die FAT.
Warum haben die Festplattenhersteller nicht noch größere Cluster vereinbart? Weil Speicherkapazität verloren geht, wenn kleine Dateien gespeichert werden müssen. Auch die kleinste Datei belegt stets einen ganzen Cluster. Bei einer Clustergröße von 32k Byte (64 Sektoren zu je 512 Byte) belegt eine 100 Byte kleine Datei den ganzen Cluster, wobei 32 668 Byte von den 32 768 Byte eines Clusters ungenutzt bleiben. Deshalb musste ein Kompromiss gefunden werden zwischen dem Verlust von Speicherplatz und dem Verlust an Geschwindigkeit bei der Verwaltung der Festplatte.

FAT – die Dateibelegungstabelle

Diese File Allocation Table kann man sich folgendermaßen vorstellen:
Jedem Cluster der Festplatte ist in der FAT ein Eintrag zugeordnet. Wenn dieser Eintrag die Zahl Null enthält, bedeutet es, diese Verwaltungseinheit ist ungenutzt. Eine negative Zahl bedeutet, an dieser Stelle ist die Festplatte defekt und darf nicht benutzt werden. Steht dort eine positive Zahl, ist die Einheit mit einem Teil einer Datei belegt, und die Nummer gibt an, in welchem Cluster das nächste Stück der Datei fortgesetzt wird. Steht dort „EOF“ (End Of File, deutsch: Dateiende), gibt es keine Fortsetzung.
Weil die FAT so wichtig ist, gibt es sie doppelt. Das Dateisystem hält beide auf dem aktuellen Stand. Falls Windows eine der FATs nicht lesen kann, z. B. wegen eines Festplattenfehlers, greift das Dateisystem auf die andere, hoffentlich unbeschädigte FAT zurück.

FAT und Directory an einem Beispiel

Hier möchte ich am Beispiel einer Diskette die Zusammenhänge zwischen FAT und Directory zeigen. Am Beispiel einer altertümlichen einseitigen Diskette mit einem Kopf und neun Sektoren pro Spur. Bei moderneren Datenträgern mit zehntausenden Spuren und Sektoren pro Spur wären die Zahlenbeispiele zu unübersichtlich. Disketten haben eine so kleine Kapazität, dass ein Cluster aus nur einem Sektor besteht.
Die neun Sektoren der ersten Spur der Diskette sind voll belegt: Ein Bootsektor, vier Sektoren für das Inhaltsverzeichnis (Cluster 0 bis 3) und zweimal zwei Sektoren für die FAT (Cluster 4 bis 7). Darum beginnt der Datenbereich mit dem Sektor 1 in der Spur 2.
Die Diskette ist mit drei Dateien belegt. Bei jeder Datei ist angegeben, in welchem Cluster die Datei beginnt.
Die linke Tabelle zeigt das Directory, rechts die dazugehörige FAT für dieses Belegungsbeispiel. In der ersten Spalte steht die Nummer des Clusters, daneben steht der eingetragene Zahlenwert. Die Datei „Angebot“ ist fett markiert:

Eintrag Nr.WertKommentar
89Mit Cluster 8 beginnt die Datei „Angebot“, Fortsetzung mit Cluster 9
910Auf Cluster 9 folgt Cluster 10
10EOFMit Cluster 10 endet die Datei „Angebot“.
1112Mit Cluster 11 beginnt die Datei „Bestellung“.
1213
1314
1415
1516
1617
17EOFMit Cluster 17 endet die Datei „Bestellung“.
1819Mit Cluster 18 beginnt die Datei „Bericht“.
1920
2021
2122
2223
2324
2425
2526
26EOFMit Cluster 26 endet die Datei „Bericht“.
270Ab Cluster 27 ist die Diskette leer.
280
SpurSektorLängeClusterDateiname
2138Angebot
24711Bestellung
32918Bericht
42 27(frei)

Wie hängen diese Tabellen zusammen? Laut Inhaltsverzeichnis beginnt die Datei „Angebot“ im Cluster 8. In der FAT auf dem Speicherplatz von Cluster Nr. 8 steht (rechte Spalte), dass es im Cluster Nr. 9 weitergeht. Im Cluster 9 steht wiederum, dass es im Cluster 10 weitergeht. Im Cluster 10 steht „EOF“, die Datei endet hier. „Angebot“ belegt also die Cluster 8, 9 und 10 und endet mit Cluster 10.


Nun löschen wir die Datei „Angebot“. Wie sehen Inhaltsverzeichnis und FAT nach dem Löschen der Datei „Angebot“ aus?

Eintrag Nr.WertKommentar
80Cluster 8 ist frei.
90Cluster 9 ist frei.
100Cluster 10 ist frei.
1112Mit Cluster 11 beginnt die Datei „Bestellung“.
1213
1314
1415
1516
1617
17EOF
1819
SpurSektorLängeClusterDateiname
2138(frei)
24711Bestellung
32918Bericht
42 27(frei)

Angenommen, es soll nun eine Datei „Rechnung“ gespeichert werden, die 5 Cluster lang ist. Das Betriebssystem sucht nach dem ersten freien Bereich und stellt fest, dass im Cluster 8 ein freier Bereich beginnt. Die gelöschte Datei „Angebot“ hatte drei Cluster belegt, die Datei „Rechnung“ belegt also zuerst die drei frei gewordenen Cluster. Die nächsten beiden Cluster der Datei „Rechnung“ finden Platz weiter hinten auf dem Datenträger, ab Cluster 27. So würden Inhaltsverzeichnis und FAT aussehen, nachdem Sie die Datei „Rechnung“ gespeichert haben:

Eintrag Nr.WertKommentar
89Mit Cluster 8 beginnt die Datei „Rechnung“, Fortsetzung mit Cluster 9
910Auf Cluster 9 folgt Cluster 10
1027Auf Cluster 10 folgt Cluster 27.
1112Mit Cluster 11 beginnt die Datei „Bestellung“.
1213
1314
1415
1516
1617
17EOFMit Cluster 17 endet die Datei „Bestellung“.
1819Mit Cluster 18 beginnt die Datei „Bericht“.
1920
2021
2122
2223
2324
2425
2526
26EOFMit Cluster 26 endet die Datei „Bericht“.
2728Auf Cluster 27 folgt Cluster 28.
28EOFMit Cluster 28 endet die Datei „Rechnung“.
SpurSektorLängeClusterDateiname
2158Rechnung
24711Bestellung
32918Bericht
42 29(frei)

Die Datei „Rechnung“ (fett markiert) ist nun in zwei Fragmenten gespeichert: Cluster 8, 9, 10 sowie 27 und 28. Die Datei ist „fragmentiert“.

Könnte man sich solche Tabellen im Original ansehen? Ja, mit dem Programm DEBUG, aber nur, wenn Sie noch ein Diskettenlaufwerk haben. Auf die Verwaltungstabellen der Festplatte kann man nicht ohne weiteres zugreifen, weil der Zugriff sicherheitshalber vom Betriebssystem blockiert wird. Darüber hinaus sind die Verwaltungstabellen einer Festplatte um ein Vielfaches komplizierter und tausend mal umfangreicher. Hier als Beispiel ein Stück eines Inhaltsverzeichnisses einer FAT32-Partition in originaler hexadezimaler Schreibweise:
49 4f 20 20 20 20 20 20 53 59 53 27 00 00 00 00
00 00 b1 2c 00 00 c0 b2 a5 26 03 00 b6 64 03 00
4d 53 44 4f 53 20 20 20 53 59 53 27 00 00 00 00
00 00 b1 2c 00 00 c0 b2 a5 26 11 00 09 00 00 00
43 4f 4d 4d 41 4e 44 20 43 4f 4d 20 00 00 00 00
00 00 b1 2c 00 00 c0 b2 a5 26 12 00 72 78 01 00
52 45 54 54 55 4e 47 20 20 20 20 28 00 00 00 00
00 00 b1 2c 00 00 2b 67 b1 2c 00 00 00 00 00 00


Wo ist noch Platz frei?

Wie findet das Dateisystem einen freien Platz, wenn eine neue Datei untergebracht werden muss?
Wenn Windows freien Platz für eine neue Datei braucht, durchsucht es die FAT vom Anfang an, nötigenfalls bis zum Ende. Die erste freie Verwaltungseinheit wird verwendet, unabhängig von deren Größe. Falls die Datei nicht vollständig hineinpasst, wird der nächste freie Bereich gesucht und das nächste Stück der Datei dort untergebracht usw.

Nachteil: Durch das ständige Reservieren und Freigeben von Speicherplatz wird zusammenhängender Speicherplatz immer seltener. Immer mehr Dateien können nicht mehr zusammenhängend geschrieben werden, sondern sie werden zum Schreiben in Stücke zerlegt. Diesen fortschreitenden Effekt nennt man Fragmentierung. Die Fragmentierung macht den PC zunehmend langsamer. Ein Aufräumen ist sinnvoll. Unter Windows 7 heißt die Aufräumaktion „Defragmentierung“, bei Windows 8 heißt sie „Optimierung“. Windows 7 und höher defragmentieren die Festplatte jeden Mittwoch früh automatisch im Hintergrund, Sie brauchen sich also nicht darum kümmern.
Beachten Sie: Defragmentieren ist kein Aufräumen im Sinne von „überflüssige Dateien löschen“. Alle Dateien (auch temporärer Müll) bleiben dabei erhalten, sie werden lediglich besser (zusammenhängender) angeordnet. Falls Sie temporäre Dateien löschen wollen (z. B. mit der Datenträgerbereinigung), tun Sie es am besten vor der Defragmentierung. Mehr dazu unter Defragmentierung.

Welche Dateisysteme gibt es?

Weil an das Dateisystem je nach Anwendung unterschiedliche Anforderungen gestellt werden, gibt es mehrere unterschiedliche Dateisysteme.
Siehe „Liste der Dateisysteme für Festplatten“ und „Liste der Dateisysteme für CD und DVD“


 

 

Skills

Posted on

19. Mai 2020

Submit a Comment

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .

Skills

Posted on

19. Mai 2020