Zum Inhalt springen

ext4

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 12. März 2011 um 12:04 Uhr durch 188.99.246.10 (Diskussion) (Technische Eigenschaften). Sie kann sich erheblich von der aktuellen Version unterscheiden.
ext4
Hersteller Mingming Cao, Dave Kleikamp, Alex Tomas, Theodore Ts'o, andere
Vollständige Bezeichnung Fourth extended filesystem
Erstveröffentlichung 14. Oktober 2008 (Testversion seit: Linux 2.6.19,Final: Linux 2.6.28)
Partitionskennung 0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Technische Umsetzung
Verzeichnisse Tabelle, H-Baum
Dateien bitmap (free space), Tabelle (metadata)
Defektblockliste Table
Maximalwerte
Größe einer Datei Größe des Dateisystems
Anzahl Unterverzeichnisse pro Verzeichnis 32.000[1]
Länge des Dateinamens 256 Bytes
Größe des Dateisystems 1 EiB = 1024 PiB (derzeit begrenzt auf 16 TiB aufgrund einer Beschränkung in e2fsprogs)
Erlaubte Zeichen im Dateinamen Alle Bytes außer NUL und '/'
Eigenschaften
Datumsangaben einer Datei modification (mtime), attribute modification (ctime), access (atime), create (crtime)
Datumsbereich 14.12.1901 bis 25.04.2514
Forks Ja
Dateiattribute extents, data=journal, data=ordered, data=writeback, commit=nrsec,
orlov, oldalloc, user_xattr, nouser_xattr, acl, noacl, bsddf, minixdf, bh, nobh
Dateirechte-Verwaltung POSIX
Transparente Komprimierung optional (siehe ext2)
Transparente Verschlüsselung nein
Unterstützende Betriebssysteme Linux

Das ext4 (fourth extended filesystem) ist ein Journaling-Dateisystem, das für den Linux-Kernel entwickelt wird. Es wurde am 10. Oktober 2006 von Andrew Morton vorgestellt. Seit der Version 2.6.19 war eine vorläufige Testversion offizieller Bestandteil des Linux-Kernels.[2] Mit dem Erscheinen von Linux 2.6.28 am 24. Dezember 2008 verließ ext4 das Hauptentwicklungsstadium.[3]

Technische Eigenschaften

ext4 unterstützt nun Partitionen oder Volumes, die bis zu 1 EiB groß sind (derzeit begrenzt auf 16 TiB aufgrund einer Beschränkung in e2fsprogs), im Gegensatz zu ext3, das nur 32 TiB zulässt (abhängig von der Größe einer Speicherseite in der jeweiligen Maschinenarchitektur, bei IA-32 zum Beispiel sind nur maximal 232 · 4 KiB = 16 TiB möglich). Auch kann die Adressierung von Dateien über Extents erfolgen, wobei Speichereinheiten zu einem zusammenhängenden Block zusammengefasst werden. Dies führt zu einer Reduzierung des Zusatzaufwands (RAM, E/A-Zugriffe und Transaktionen) und kann die Leistung im Betrieb steigern.

Seit Veröffentlichung im Kernel 2.6.19 sind folgende Verbesserungen implementiert worden:

  • ab Kernel 2.6.23: mehr als 32.768 Unterverzeichnisse,
  • ab Kernel 2.6.25: maximale Dateigröße so groß wie das gesamte Dateisystem
  • ab Kernel 2.6.28: ext4 gilt als stabil

Als weitere Verbesserungen gegenüber ext3/ext2 sind unter anderem noch in Planung oder bereits implementiert:

Bei bestehenden ext3-Partitionen können einige der ext4-Features ohne Neuformatierung aktiviert werden.[4] ext2- und ext3-Partitionen können eingehängt werden, als wären sie ext4-Partitionen. Daraus ergeben sich durch Optimierung im ext4-Treiber bereits kleine Performancegewinne.

Nachteile

Auch bei ext4 ist keine Blockgröße von 512 Bytes möglich. Das schränkt seine Verwendung bei Speicherknappheit und vielen kleinen Dateien ein.

Einzelnachweise

  1. http://kernelnewbies.org/Ext4
  2. Linux-Dateisystem ext4 im Kernel 2.6.19 auf heise.de, 12. Oktober 2006
  3. Linux-Kernel 2.6.28 erschienen auf heise open, 25. Dezember 2008
  4. Thorsten Leemhuis: Drei Dateisysteme dazu auf heise open, 30. November 2006