Journaled File System
Das Journaled File System (JFS) wurde im Jahr 1990 von IBM für ihr eigenes Betriebssystem AIX veröffentlicht. Hintergrund war eine weitgehende Virtualisierung der Hardwareschicht in dieser damals neu vorgestellten Version 3 von AIX: Ein ebenso neu vorgestellter Logical Volume Manager (LVM) löste die starren Zugriffsschemata auf Datenträgern ab, ein neuer Speichermanager brachte die Virtualisierung des Speicherraumes, also die Auslagerung von Hauptspeicher auf eine (virtuelle) Festplatte, und die PowerPC-CPU Familie, die noch heute das Herzstück unter anderem der pSeries ist, wurde eingeführt. JFS für AIX sollte nicht mit dem Veritas File System verwechselt werden, das unter HP-UX ebenfalls als "JFS" bezeichnet wird.

Das primäre Designziel von JFS war die stetige Konsistenz des Dateisystems: Änderungen am Dateisystem werden transaktionsorientiert geschrieben sowie in einem Journal protokolliert. Bei einem Absturz kann somit – ausgehend von einem Konsistenzpunkt der Transaktionen – über das Journal sehr effizient ein konsistenter Status des Dateisystems hergestellt werden. Ein voller Zugriff auf das Dateisystem ist also sehr schnell wieder erreicht. Im Fokus steht damit die Verfügbarkeit der Ressource "Dateisystem", nicht die Performance oder die Integrität der Dateiinhalte (das Journaling bezieht sich nur auf Änderungen im Dateisystem, also beispielsweise Dateieinträge in Verzeichnissen, und nicht auf den eigentlichen Dateiinhalt).

Der LVM ist für die Skalierbarkeit des Dateisystems nützlich: im laufenden Betrieb und unter Last können einfach Festplatten in der Konfiguration ergänzt und in die Volume Group mit aufgenommen werden um das Dateisystem zu erweitern.

Für das ebenfalls von IBM veröffentlichte Betriebssystem OS/2 wurde eine neue Generation des JFS entwickelt und im Jahr 2000 vorgestellt. Dieses JFS stellt eine Neu-Implementation des JFS dar, da der „historische“ JFS-Code stark an die pSeries-Architektur angelehnt ist (OS/2 läuft auf x86-Computern). Dieser neue JFS-Code wurde in AIX 5.1 als JFS2 importiert und 2002 von IBM unter der GNU General Public License freigegeben.

Die wichtigsten Größenunterschiede:

Darüber hinaus wurden Optimierungen für aktuelle Server-Hardware vorgenommen; so ist die Leistung von JFS2 etwas besser als die von JFS.

Es wird zwar Linux unterstützt, aber die Defragmentierung wurde bislang noch nicht auf Linux portiert. Dies kann dazu führen, dass durch das Anlegen und Löschen vieler kleiner Dateien (einige KiB) das Dateisystem fragmentiert und vor allem die Schreibzugriffe sich etwas verlangsamen und eine höhere CPU-Last erzeugen. Aufgrund der Extent (engl. Ausdehnung, bestehend aus einem Adresse-Länge-Paar)-basierten Allokation von Dateiblöcken und einer intelligenten Allokationsstrategie, d. h. benachbarte Extents derselben Datei werden während des Änderns von Dateien verschmolzen (dies wird wahrscheinlicher, je fragmentierter das Dateisystem wird), bleibt der Fragmentierungsgrad aber unter einem bestimmten Verhältnis. Viele andere Datei- und Datenbank-Systeme verwenden eine ähnliche Extent-basierte Dateiblock-Allokation.
Q37156
IBM
ORG
Q9135
Betriebssystem
Concept
Q269856
AIX
MEDIA
Q270471
Virtualisierung
Concept
Q1429439
Logical Volume Manager
Concept
Q209860
PowerPC
MISC
Q1928207
pSeries
Concept
Q2064372
Veritas File System
MEDIA
Q847593
HP-UX
MISC
None
Konsistenz
UNK
Q848010
transaktionsorientiert
Concept
Q579047
Journal
Concept
None
Volume Group
UNK
Q189794
OS/2
MISC
Q182933
x86
Concept
Q7603
GNU General Public License
MEDIA
Q6583973
KiB
Concept
Q343527
Allokation
UNK
Q1455872
Journaled File System
MEDIA
1990-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
Jahr 1990
DATE
2000-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
Jahr 2000
DATE
2002-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
und 2002
DATE
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+2^^http://www.w3.org/2001/XMLSchema#decimal
2
NUMBER
+2^^http://www.w3.org/2001/XMLSchema#decimal
2
NUMBER
+86^^http://www.w3.org/2001/XMLSchema#decimal
86
NUMBER
+5.1^^http://www.w3.org/2001/XMLSchema#decimal
5.1
NUMBER
+2^^http://www.w3.org/2001/XMLSchema#decimal
2
NUMBER
+2^^http://www.w3.org/2001/XMLSchema#decimal
2
NUMBER
developer
inception
developer
operating system