Warum ist JFS so dunkel?

21

Als ich vor Jahren zum ersten Mal mit Slackware anfing, lernte ich schnell, JFS über ext3 oder reiserfs zu lieben, da es zuverlässig war und bei einem unsauberen Herunterfahren die Festplattenüberprüfung sehr schnell erfolgte. Ich habe erst kürzlich herausgefunden, dass JFS so dunkel ist, dass es von niemandem mehr gewartet werden kann.

Ich hatte keine Ahnung, dass ich in einer solchen Minderheit war. Warum ist das passiert? Ist die Dateisystemtechnologie inzwischen so weit fortgeschritten, dass JFS keine komparativen Vorteile mehr bietet? War ext3 mit anderen Betriebssystemen interoperabler? War ein bestimmtes anderes Dateisystem von einem bestimmten Hersteller oder den Kernel-Entwicklern gesegnet?

Nicht so sehr eine technische als eine historische Frage.

Barend Venter
quelle
4
Ich habe JFS noch nie verwendet und habe daher keine vorherige Meinung dazu. Aber als Linux-Benutzer sehe ich auch keinen Grund, sich dafür zu interessieren - eine teilweise Antwort auf Ihre Frage. "Fast Disk Checking" ist kein sehr starkes Verkaufsargument. Ich habe mir debian-administration.org/articles/388 angesehen, auf das im JFS-Wikipedia-Artikel verwiesen wird, und obwohl es auf dieser Grundlage gut aussieht, fällt es nicht klar auf. das war 2006. 6 Jahre später: phoronix.com/ Wie Sie sagen, ohne komparative Vorteile ...
Goldlöckchen

Antworten:

22

Das erste, was Sie aus dem Weg räumen müssen, ist der Vergleich mit ext [234] . Das Ersetzen eines dieser Programme entspricht dem Ersetzen von NTFS in Windows. Möglich, sicher, aber es wird eine Entscheidung von oben erforderlich sein, um zu wechseln.

Ich weiß, Sie möchten vorhandene Alternativen beibehalten und keine anderen Alternativen entfernen, aber diese privilegierte Konkurrenz saugt den größten Teil des Sauerstoffs im Raum auf. Bis Sie die Konkurrenz loswerden, wird es für marginale Alternativen außerordentlich schwierig sein, Aufmerksamkeit zu erregen.

Da ext [234] nicht verschwindet, sind JFS und sein Umfeld von Anfang an stark benachteiligt.

(Dieses Phänomen wird die Tyrannei des Verzugs genannt.)

Das zweite ist, dass sowohl JFS als auch XFS ungefähr zur gleichen Zeit zu Linux beigetragen wurden und dass sie praktisch die gleichen Probleme lösen. Kernel-Freaks können sich über feine Punkte streiten, aber die Tatsache ist, dass diejenigen, die auf eine der Einschränkungen von ext [234] gestoßen sind, in XFS und JFS zwei ungefähr gleichwertige Lösungen hatten.

Warum hat XFS gewonnen? Ich bin nicht sicher, aber hier sind einige Beobachtungen:

  • Red Hat und SuSE haben das befürwortet.

    RHEL 7 verwendet XFS als Standarddateisystem, und es war eine Installationsoption in RHEL 6. Nach dem Erscheinen von RHEL 6 hat Red Hat die offizielle XFS-Unterstützung für RHEL 5 zurückportiert. XFS war zuvor für RHEL 5 über das semi-offizielle System verfügbar EPEL- Kanal.

    SuSE umfasste XFS als Installationsoption viel früher als Red Hat und ging auf SLES 8 zurück , das im Jahr 2002 veröffentlicht wurde. Dies ist nicht die aktuelle Standardeinstellung, wurde jedoch die ganze Zeit über offiziell unterstützt.

    Es gibt viele andere Linux-Distributionen, und RHEL und SuSE sind nicht die beliebtesten Distributionen im gesamten Linux-Bereich, aber sie sind die großen Eisen- Distributionen der Wahl. Sie spielen dort, wo die Vorteile von JFS und XFS am wichtigsten sind. Diese Firmen können nicht immer mit dem Hund wedeln, aber bei Fragen, die großes Eisen betreffen, können sie manchmal.

  • XFS ist von SGI , einer Firma, die im Wesentlichen jetzt weg ist. Bevor sie starben, gaben sie alle Rechte, die sie an XFS hatten, offiziell ab, so dass sich die Linux-Leute wohl fühlten, wenn sie es in den Kernel einschlossen.

    IBM hat auch genügend Rechte an JFS vergeben, um den Linux-Kernel-Betreuern die Arbeit zu erleichtern, aber wir können nicht vergessen, dass es sich um ein aktives, milliardenschweres Unternehmen mit Tausenden von Patenten handelt. Wenn IBM jemals entschied, dass die Unterstützung von Linux nicht mehr mit seinen Interessen übereinstimmt, könnte dies hässlich werden.

    Sicher, jemand besitzt jetzt wahrscheinlich die IP-Rechte von SGI und könnte Probleme machen, aber es würde wahrscheinlich nicht schlimmer ausfallen als das SCO-Debakel . Möglicherweise wiegt IBM sogar einen solchen Troll ein und hilft ihm dabei, ihn zu zerstören, da sie derzeit unter anderem Linux unterstützen.

    Der Punkt ist, dass sich XFS für viele Leute "freier" anfühlt. Es ist weniger wahrscheinlich, dass ein zukünftiges IP-Problem vorliegt. Eines der Probleme mit unserem aktuellen IP-System ist, dass das Urheberrecht an die Unternehmenslebensdauer gebunden ist und Unternehmen normalerweise nicht sterben. Nun, SGI hat es getan. Dadurch fühlen sich die Menschen wohler, wenn sie den Beitrag von SGI zu XFS wie den eines Einzelnen behandeln.

  • In jedem System mit Netzwerkeffekten, in dem es zwei ungefähr gleichwertige Alternativen gibt - in diesem Fall JFS und XFS - wird der Marktanteil fast nie zu 50 aufgeteilt.

    Hier sind die Netzwerkeffekte Training, Kompatibilität, Verfügbarkeit von Funktionen ... Diese Effekte bringen das Gleichgewicht immer weiter in Richtung der Option, die diesen frühen Sieg erlangt hat. Erleben Sie Windows vs. OS X, Linux vs. All-Other- * IX, Ethernet vs. Token Ring ...

Warren Young
quelle
Ihr Vergleich zwischen Windows und OS X ist nicht ganz fair. OS X wurde im Jahr 2001 herausgebracht. Damals war Windows (sowohl das Betriebssystem als auch das NTFS-Dateisystem und die Win32-API) seit langem ein etablierter Player. Windows (insbesondere die NT-Linie) und klassisches Mac OS spielten zwei völlig unterschiedliche Spiele, insbesondere auf dem Unternehmensmarkt, und es ist den meisten Heimanwendern egal, ob sie HFS +, JFS, XFS, NTFS, ext3fs oder whathaveyouFS verwenden Es erledigt das Speichern und Abrufen von Dateien.
ein Lebenslauf vom
@ MichaelKjörling: Ich bin mir dieser Dinge bewusst, aber Sie haben meinen Punkt übersehen, nämlich, dass die Netzwerkeffekte rund um DOS das ursprüngliche Windows zu einem Vorsprung gegenüber Mac OS Classic gemacht haben, den Microsoft durch die Einführung von OS X und darüber hinaus beibehalten hat . Auch der Unterschied in den Dateisystemen zwischen den beiden Betriebssystemen ist völlig unvollständig. Das liegt einfach daran, dass Netzwerkeffekte eine Aufteilung des Marktanteils um 50/50 verhindern. Eine der Alternativen übernimmt immer die entscheidende Führung. Der Anführer kann sich ändern, aber wenn Kräfte auftreten, um diese Änderung vorzunehmen, schwingt die Teilung schnell wieder über 50/50 hinaus.
Warren Young
AFAIK das Urheberrecht würde erlöschen, sobald jeder, der an diesem Code gearbeitet hat, mehr als 70 Jahre tot war (obwohl es zu diesem Zeitpunkt unwahrscheinlich ist, dass sich irgendjemand dafür interessieren würde).
Ángel
@ Ángel: Softwareentwickler werden normalerweise im Rahmen eines "Work for Hire" -Vertrags angestellt, sodass das Unternehmen automatisch über den von ihnen geschriebenen Code verfügt. Die Rechte in XFS liegen höchstwahrscheinlich bei SGI oder bei jenen, die ihre IP besitzen, und nicht bei den Mitarbeitern, die sie erstellt haben.
Warren Young
Warren, nach meinem Verständnis erlischt das Urheberrecht 70 Jahre nach dem Tod des Autors (oder was auch immer in den örtlichen Gesetzen festgelegt ist), unabhängig vom Urheberrechtsinhaber .
Ángel
17

Als jemand, der intensiv mit JFS unter Linux gearbeitet und sich mit dem Quellcode befasst hat, um Probleme zu beheben, kann ich mehrere Gründe annehmen:

  1. JFS ist ein Port eines Dateisystems, das für AIX erstellt, dann auf OS / 2 portiert und dann als Open Source-Datei bereitgestellt wird. Keiner der AIX-Entwickler arbeitet daran, da die Gefahr einer Codekontamination besteht und OS / 2 seit einiger Zeit nicht mehr entwickelt wurde.
  2. Beim Lesen des Codes und nach der Entwicklung von JFS sah ich viele Probleme im Code (eines davon war das Fehlschlagen der Größenänderung des FS auf Big-Endian-Maschinen, dh von IBM), die vom Projekt behoben wurden und nicht Auch Monate nach dem Fix wurde der Kernel in den Kernel integriert, wahrscheinlich, weil die IBM-Entwickler nicht offiziell die Maintainer dieses Teils des Baums waren.
  3. Der Code weist viele Lesbarkeitsprobleme auf, die wahrscheinlich zu dem Mangel an offizieller Unterstützung durch Distributionen beigetragen haben, da schwer lesbarer Code schwer zu debuggen ist.
  4. Ich gehe davon aus, dass eine der Hauptverwendungen zu Beginn von JFS für Linux darin bestand, Informationen zu migrieren und mit AIX-Systemen auszutauschen. In AIX5L gab es jedoch keine (unterstützte) Option, um das Dateisystem auf einer einfachen Festplatte ohne das von verwendete proprietäre LVM zu verwenden AIX, das nicht für Linux verfügbar war, und JFS wurden erweitert, ohne dass diese Erweiterungen auf Linux portiert wurden (siehe Nummer 1).

Erläuterung: Obwohl ich in der Vergangenheit bei IBM gearbeitet habe, war ich nie Mitglied des IBM AIX-Entwicklungsteams oder des JFS-Entwicklungsteams. Diese vermuteten Gründe beruhen auf meiner Logik und meiner Kenntnis der Geschichte des Dateisystems und von Linux.

Didi Kohen
quelle
Ich kann mich nicht erinnern, dass JFS zu irgendeinem Zeitpunkt die Standard-Fs für SUSE war. XFS war für einige Jahre (vor ext4) die Standard-Fs.
Reinstate Monica - M. Schröder
Vielleicht war dies ein Standard bei uns und mein Gedächtnis führt mich in die Irre ... Ich werde diesen Punkt entfernen.
Didi Kohen