Wie bereits erwähnt ist die Linux-Verzeichnisstruktur wesentlich straffer und ordentlicher aufgebaut*. Doch wie wird dies auf der Platte verwaltet. Linux nutzt hier die Dateisysteme Extended Fielesystem (ext fs), Xia Filesystem (xiafs) und Extended File System Version 2 (ext2 fs).
Die hierarchische Baumstruktur von Linux wird über ein Dateisystem angesprochen und verwaltet, so das es für den User als eine schöne logische Struktur aussieht. Linux kann sogar andere Dateisystem wie MS-DOS oder Windows 95 (vfat) einbinden ohne diese Struktur zu zerstören.
Dateisysteme werden in Blöcken verwaltet. Blöcke sind bei Festplatten 512 Byte groß, was vom Controller vorgegeben wird. Blöcke sind die Positionsbeschreibungen der Platte. Jedes File System verwaltet diese Blöcke anders.
Ein Auszug der vom Kernel (Version 2.0) unterstützen Datei-Systeme:
|
Typ |
Kurzbeschreibung |
|
affs |
Amiga Fast File System |
|
ext fs |
Extended File System |
|
ext2 fs |
Extended File System Version 2 |
|
hpfs |
High Performance- File System (Lesen v. O/2 FS) |
|
vfat |
FS mit Virtual File-Allocation-Table, wie z. B. bei Win 95 |
Auch wenn sich alle Dateisystem unterscheiden so gleichen sich die Komponenten
Bei ext2 existieren mehrere Superblöcke, um bei Hardwarefehler Ausfälle zu reduzieren. ext2 faßt Superblocks, Indode-Listen und Datenblöcke zu sog. Groups zusammen, damit ein effektiverer Datenzugriff erreicht werden kann. Jede Group enthält einen Superblock und eine Liste, welche Groups insgesamt vorhanden sind und wo sie auf der Platte "stehen". Außerdem enthält die Group noch zwei Bitmaps die belegte/freie Indoes/Blöcke anzeigen. Danach folgen die Inode-Liste und die Datenblöcke.
In Inodes werden unter Linux alle Verwaltunginformationen zu einem Objekt (z. B. Datei) im Dateisystem gespeichert. Beispiele: Besitzer, Größe, Zugriffsrechte |
Er liegt im ersten Block (Block 0) in jedem Dateisystem. Im Bootblock oder Bootsektor ist ein Programm zu Starten und Initialisieren des Systems vorhanden. Normalerweise können Anwendungen oder andere Benutzerprogramme diesen Block nicht ansprechen. Es gibt allerdings einige Viren-Programme, die hier gerne Schaden anrichten. Oft ist nur der erste Bootblock der Festplatte mit dem Start/Init-Programm versehen. Bei ext2 ist er 1.024 Zeichen groß.
Eine Group wird aus 6 Komponenten gebildet:
Über Superblocks werden alle Informationen eines Dateisystems verwaltet.
Einige dieser Information sind
In den Bitmaps wird für jeden zu verwaltenden Block/Indode ein Bit gesetzt (0 = frei, 1 = belegt).
Sie besteht aus einer Vielzahl von hintereinalderliegenden gleich großen Indoes. Die Anzahl wird im Superblock der Group festgelegt.
Grundsätzlich können Indoes in 2 verschieden Formen auftreten:
Ein großer Teil der Arbeit von Linux ist das Umsetzten von Dateinamen in Indoes.
Sie hat 15 Einträge. Jeder dieser Einträge verweist auf einen Datenblock, der dann alle Infos zu einer Datei enthält. Hierbei gilt:
Hinter der Inode-Liste beanspruchen die Datenblöcken den restlichen Platz im Dateisystem. Jeder Datenblock hat genau die Größe eines logischen Blocks. ext2 verwaltet die Datenblöcke innerhalb von Groups. Dies ist aber nicht bei jedem anderen Dateisystem der Fall.
Die Inodes und die Datenblöcke liegen im Dateisystem auf der Platte. Damit sie verarbeitet werden können müssen in den Hauptspeicher gelesen bzw. aus diesem geschrieben werden können. Unten stehende Grafik verdeutlicht das Prinzip in Linux.
Wie schon erläuter kann Linux eine große Anzahl von Dateisystemen verwalten. Allerdings ist nicht jedes Filesystem gleich. Deshalb wurde für Linux ein virtuelles Dateisystem (VFS) entwickelt.
|
Wichtig Jedes Dateisystem sollte vor dem ausschalten heruntergefahren werden. Dies kann mit dem Befehl umount /dev/Festplatte erreicht werden. Es empfiehlt sich allerdings das System mit dem Skript shutdown herunterzufahren. |