plattgemacht und abgelegt
Wie funktionieren Festplatten und Dateisysteme?
I-Nodes
Dateien werden vom Linux-Kernel automatisch auf die passenden Dateisysteme verteilt beziehungsweise von ihnen gelesen, abhängig vom angegebenen Pfadnamen und den eingebundenen Dateisystemen. Ein Mechanismus im Kernel untersucht dazu den Pfadnamen und ermittelt dadurch das Dateisystem, auf dem die Datei gespeichert wird.
In Unix-orientierten Dateisystemen ist jeder Datei (und jedem Verzeichnis, da es nur eine spezielle Datei ist) zudem ein I-Node zugeordnet. I-Nodes verbinden Verzeichniseinträge mit Datenblöcken auf der jeweiligen Partition. Es handelt sich bei ihnen um spezielle Datenblöcke, die Metadaten zur korrespondierenden Datei speichern. Im Prinzip können sie als Datenstruktur aufgefasst werden, in der zusätzliche Informationen zur Datei gespeichert werden, wie zum Beispiel die Länge, Zugriffsrechte, Besitzverhältnisse, Zugriffszeiten und Zeiger auf die verwendeten Blöcke. Normalerweise werden I-Nodes lediglich intern im Dateisystem verwendet.
Welcher I-Node jedoch zu einer Datei gehört, ist auch für Anwender sichtbar. Mit dem Befehl ls -i (siehe Abbildung) zeigt ls neben dem Dateinamen auch den verwendeten I-Node an. Die Anzahl der Dateien und Verzeichnisse in einem Dateisystem ist damit nicht nur durch die Größe der Dateien und die Gesamtkapazität der Partition, sondern auch durch die Anzahl der I-Nodes limitiert, was bei der Einrichtung berücksichtigt werden muss.
Der generelle Aufbau eines I-Node ist in Abbildung 6 illustriert. Der tatsächliche Aufbau hängt vom zugrunde liegenden Dateisystem ab. Für das Second Extended Filesystem, das für Linux Standard ist, ist der Aufbau in der Datei ext2_fs.h im Kernel beschrieben.
Aus dem Linux Dateisystem lassen sich zahlreiche Informationen entnehmen, denen der Anwender in verschiedener Form begegnet. Ob auf der Kommandozeile oder im Kernel - das Dateisystem ist wortwörtlich allgegenwärtig.



