为什么JFS如此晦涩?


21

几年前,当我第一次使用Slackware时,我很快就学会了在ext3或reiserfs上爱上JFS,因为它是可靠的,而且如果关机不干净,其磁盘检查也非常快。直到最近,我才发现JFS晦涩难懂,几乎没有人维护过。

我不知道我是在这样的少数派中。为什么会这样呢?文件系统技术是否已经发展到现在JFS缺乏任何比较优势的地步?ext3是否可以与其他操作系统更好地互操作?特定的其他文件系统是否受到特定的供应商或内核开发人员的青睐?

与其说是历史问题,不如说是技术问题。


4
我从未使用过JFS,因此对此没有任何意见。但是作为Linux用户,我也没有任何理由对此感兴趣,这是您问题的部分答案。“快速磁盘检查”不是一个很强的卖点。我查看了JFS Wikipedia文章中引用的debian-administration.org/articles/388,虽然它的确不错,但并不能很明显地脱颖而出。那是2006年。6年后:phoronix.com/… 正如您所说,缺乏相对优势...
goldilocks 2013年

Answers:


22

您必须摆脱的第一件事是与ext [234]的比较。替换其中任何一个就像在Windows中替换NTFS。可能的,当然可以,但是需要从上到下的决定才能切换。

我知道您在问要保留现有的替代方案,而不是取消其他替代方案,但是特权竞争正在消耗房间中的大部分氧气。在您摆脱竞争之前,边缘替代品将很难吸引任何关注。

由于ext [234]并没有消失,因此JFS及其同类产品从一开始就处于严重的劣势。

(这种现象称为默认的暴政)。

第二件事是JFS和XFS几乎同时是对Linux的贡献,它们几乎解决了相同的问题。内核怪胎可以争论两者之间的优缺点,但事实是,遇到ext [234]局限之一的人在XFS和JFS中有两个大致等效的解决方案。

那么为什么XFS获胜呢?我不确定,但是这里有一些观察结果:

  • 红帽和SuSE对此表示赞同。

    RHEL 7使用XFS作为其默认文件系统,它是RHEL 6中的安装时选项。在RHEL 6推出后,Red Hat将官方XFS支持反向移植到RHEL 5。EPEL频道。

    SuSE将XFS作为安装时选项的时间要比Red Hat早得多,可以追溯到 2002年发布的SLES8。它不是当前的默认值,但是一直以来都得到官方的支持。

    还有许多其他Linux发行版,RHEL和SuSE并不是整个Linux领域中最受欢迎的发行版,但它们首选的大型发行版。在JFS和XFS的优势最为重要的地方,他们发挥着作用。这些公司不能总是w狗,但是在涉及大铁的问题中,有时他们可以。

  • XFS来自SGI,该公司现在已经不复存在了。在他们死之前,他们正式放弃了他们在XFS中拥有的所有权利,因此Linux人士对将其包含在内核中感到很自在。

    IBM还授予了JFS足够的权利,以使Linux内核维护人员感到满意,但是我们不能忘记他们是一家活跃的,价值数十亿美元的公司,拥有数千项专利。如果IBM决定他们对Linux的支持不再符合其利益,那么它可能会变得丑陋。

    当然,有人现在可能拥有SGI的IP权利并且可以大惊小怪,但事实证明,这不会比SCO崩溃更糟。IBM甚至可能在权衡和帮助壁球这样的巨魔,因为他们的利益目前包括支持Linux。

    关键是,XFS对许多人来说更加“自由”。不太可能造成将来的IP问题。当前IP系统的问题之一是版权与公司的生命周期息息相关,并且公司通常不会死。好吧,SGI做到了。这使人们对SGI对XFS的贡献像任何个人的贡献一样感到更好。

  • 在涉及网络效应的任何系统中,您都有两个大致等效的替代方案(在这种情况下为JFS和XFS),您几乎永远不会获得50/50的市场份额分配。

    在这里,网络效应是训练,兼容性,功能可用性...这些效应将平衡推向越来越早取得胜利的选择。见证Windows与OS X,Linux与所有其他* ix,以太网与令牌环...


Windows与OS X之间的比较并不完全公平。OS X于2001年问世,当时Windows(OS,NTFS文件系统和Win32 API)早已是公认的播放器。Windows(尤其是NT系列)和经典Mac OS玩了两种完全不同的游戏,尤其是在公司市场中,大多数家庭用户几乎不必关心他们是在运行HFS +,JFS,XFS,NTFS,ext3fs还是whathaveyouFS,只要它完成了文件存储和检索的工作。
CVn 2013年

@MichaelKjörling:我知道这些事情,但是您错过了我的观点,这是因为DOS周围的网络效应将原始Windows推到了Mac OS Classic之上,Microsoft通过引入OS X以及其他方式一直保持这种领先地位。同样,两个操作系统之间的文件系统差异完全超出了更广的范围,这仅仅是因为网络效应阻止了50/50的市场份额分裂;替代方案之一总是起决定性作用。领导者可能会改变,但是当出现力量进行改变时,分裂会再次迅速摆动超过50/50。
沃伦·杨

AFAIK 一旦使用该代码的每个人都死了70多年,版权就将失效(尽管在那时,不太可能有人对此感兴趣)。
安赫尔

@Ángel:软件开发人员通常是按照“租用工作”合同雇用的,因此公司会自动拥有他们编写的任何代码。XFS中的权利很可能属于SGI或现在拥有其IP的任何人,而不是与创建IP的员工有关。
沃伦·杨

沃伦,我的理解是,版权在作者去世后70年到期(或任何在他们的地方立法规定),不管版权人
安赫尔

17

作为在Linux上广泛使用JFS并深入研究源代码以解决问题的人,我可以假设以下几个原因:

  1. JFS是为AIX创建的文件系统的端口,然后移植到OS / 2,然后开源。由于存在代码污染的风险,并且没有开发OS / 2相当长时间,因此没有AIX的开发人员对此进行任何工作。
  2. 从我的代码阅读以及JFS的开发中,我看到了代码中的许多问题(其中一个问题是在大端字节机器(即IBM制造的机器)上调整FS大小的失败),这些问题是由项目修复的,并非由甚至在修复后几个月就合并到了主线内核中,这可能是因为IBM开发人员并不是正式的维护者。
  3. 该代码具有许多可读性问题,这可能是由于发行版缺乏官方支持,因为难以阅读的代码难以调试。
  4. 我假设在Linux的JFS初期,主要用途之一是迁移信息并与AIX系统共享信息,但是在AIX5L中,没有(受支持的)选项可以在没有由LFS使用的专有LVM的情况下在简单磁盘上使用文件系统。 AIX(不适用于Linux)和JFS进行了扩展,但没有将这些扩展移植到Linux(请参见编号1)。

说明:尽管过去曾在IBM工作,但我从未成为IBM AIX开发团队或JFS开发团队的成员,这些假定的原因是基于我的逻辑推论以及对文件系统和Linux历史的熟悉。


我不记得任何时候JFS都是SUSE的默认文件系统。不过,XFS是某些年来(在ext4之前)的默认fs。
恢复莫妮卡-M.Schröder2013年

也许这是我们网站的标准,但我的记忆误导了我……我将删除这一点。
Didi Kohen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.