ext2
Geschichte Minixerhebliche Beschränkungen extfs ext2erstmals aufhebung aller drängenden Beschränkungen ext3erweiterung um Journaling
Aufbau Blockgrößen von 1, 2, 4 oder 8 (nur alpha) kb Blöcke werden zu Block Groups zusammengefasst Block Groups bestehen aus - Superblock - Group Descriptors - Block Bitmap - Inode Bitmap - Datenblöcken
Der Superblock Magic Number Revision Level Mount Count, Maximum Mount Count Blockgröße Anzahl Blocks / Blockgruppe Anzahl freier Blöcke Anzahl freier Inodes Erste Inode im Dateisystem (rootverzeichnis)
Der Group Descriptor Ein Group Descriptor beschreibt alle Block Groups. Er ist redundant in allen Block Groups vorhanden. Adresse der Block Bitmaps Adresse der Inode Bitmaps Anzahl der freien Blöcke Anzahl der freien Inodes
Block Bitmap Inode Bitmap Bitmaps sind ein Abbild der freien und belegten Blöcke Welcher Blocks/Inodes frei oder belegt sind, kann schnell in den Bitmaps überprüft werden
Inodes Art der Datei Zugriffsrechte (-rw-r-----) Anzahl der links UID (User-ID) GID (Group-ID) Dateigröße Datum des letzten Zugriffs, Erstellungsdatum Zeiger auf die Datenblöcke der Datei
Zeiger auf Datenblöcke der Datei direkte pointer indirekte pointer -> direkte pointer doppelt indirekte pointer -> indirekte pointer dreifach indirekte pointer -> doppelt indirekte pointer
Verzeichnisse Verzeichnisse sind Dateien des Typs Directory Sie beinhalten eine Liste von Dateinamen und ihren Inodes jedes Verzeichnis enthält mindestens die Dateien. (eigene Inode) und.. (Inodes des übergeordneten Verzeichnisses)
Links – Hard links zweiter Verzeichniseintrag für eine schon vorhandene Inode erhöhung des link-count-Feldes in der Inode der Datei Blöcke werden freigegeben, wenn link- count nach dem löschen 0 ist keine links auf andere Dateisysteme keine links auf Verzeichnisse
Links – Symbolische Links Dateien des Typs Link enthalten Pfadnamen symbolische Links für Verzeichnisse erlaubt bei links < 60 byte Speicherung des links in den Pointerblöcken der Inode symbolische Links über Dateisystemgrenzen hinweg erlaubt
Reservierte Blöcke Eine bestimmte Anzahl von Blöcken (meist 2%) können für einene bestimmten User reserviert werden
Fragmentierung Fragmentierung bedeutet, daß eine Datei in nicht-zusammenhängenden Blöcken gespeichert wurde ext2 verhindert dies, indem beim schreiben bis zu 7 Blöcke mehr reserviert werden als benötigt (preallocation) beim schließen der Datei werden ungenutzte Blöcke freigegeben
Journaling Journaling ist eine Technik die hilft, die Integrität des Dateisystems ohne langwierige Dateisystemchecks nach einem Absturz zu bewahren
Journaling Journaling speichert alle Schreiboperationen (Transaktionen) in einem Journal Ist eine Transaktion bei einem Neustart noch nicht abgeschlossen, wird die Operation verworfen
Erweiterbarkeit Kompatibilitätsfelder im Superblock geben Auskunft, wie sich ein Kernel beim mounten des Dateisystems zu verhalten hat kompatible Features z.B. Journaling read-only-kompatible Features z.B. sparsamere Verteilung des Superblocks inkompatible Features z.B. veränderte Strukturen oder nicht zurückgespieltes Journal
Grenzen Verzeichnisse Unterverzeichnisse / Verzeichnis Trillionen Dateien / Verzeichnis, praktisch beschränkt auf ~ Dateien Dateiennamen - alle Zeichen außer \0 und slash (/) erlaubt - maximale länge 255 Zeichen Datei- und Partitionsgrößen bei 4kb-Blöcken - Dateisystem: 16TB - Dateien: 2TB
Zusammenfassung Daten und Metadaten liegen nahe beieinander Journaling möglich Keine Defragmentierung notwendig Grenzen stellen keine Beschränkung dar gute Performance auch im Vergleich zu neueren Dateisystemen
ENDE