¿Por qué es tan oscuro JFS?

21

Cuando empecé a usar Slackware hace años, aprendí rápidamente a amar JFS sobre ext3 o reiserfs, dado que era confiable y si había un cierre sucio, la comprobación de disco era muy rápida. Hace poco descubrí que JFS es oscuro hasta el punto de que nadie lo mantiene casi por completo.

No tenía idea de que era una minoría. ¿Por qué sucedió esto? ¿Es que la tecnología de sistema de archivos ha avanzado hasta el punto de que JFS ahora carece de ventajas comparativas? ¿Es que ext3 era más interoperable con otros sistemas operativos? ¿Fue bendecido otro sistema de archivos en particular por un proveedor en particular o los desarrolladores del kernel?

No tanto una cuestión técnica como histórica.

Barend Venter
fuente
44
Nunca he usado JFS y, por lo tanto, no tengo una opinión previa al respecto. Pero como usuario de Linux, tampoco veo ninguna razón para interesarme en él: una respuesta parcial a su pregunta. La "comprobación rápida de disco" no es un punto de venta muy fuerte. Miré a debian-administration.org/articles/388 al que se hace referencia en el artículo de JFS wikipedia, y aunque se ve bien en base a eso, no se destaca claramente; que era de 2006. 6 años más tarde: phoronix.com/... Como usted dice, que carecen de ventajas comparativas ...
goldilocks

Respuestas:

22

Lo primero que debe apartarse es la comparación con ext [234] . Reemplazar cualquiera de ellos será como reemplazar NTFS en Windows. Posible, claro, pero requerirá una decisión de la parte superior para cambiar.

Sé que estás preguntando por mantener las alternativas existentes, no por eliminar otras alternativas, pero esa competencia privilegiada está absorbiendo la mayor parte del oxígeno en la habitación. Hasta que se deshaga de la competencia, las alternativas marginales tendrán un tiempo excepcionalmente difícil para llamar la atención.

Dado que ext [234] no desaparecerá, JFS y sus semejantes están en grave desventaja desde el principio.

(Este fenómeno se llama la tiranía del defecto).

Lo segundo es que tanto JFS como XFS se contribuyeron a Linux aproximadamente al mismo tiempo, y prácticamente resuelven los mismos problemas. Los geeks del kernel pueden discutir sobre puntos finos entre los dos, pero el hecho es que aquellos que se han topado con una de las limitaciones de ext [234] tenían dos soluciones más o menos equivalentes en XFS y JFS.

Entonces, ¿por qué ganó XFS? No estoy seguro, pero aquí hay algunas observaciones:

  • Red Hat y SuSE lo respaldaron.

    RHEL 7 usa XFS como su sistema de archivos predeterminado, y era una opción de tiempo de instalación en RHEL 6. Después de que salió RHEL 6, Red Hat hizo un soporte oficial de XFS para RHEL 5. XFS estaba disponible para RHEL 5 antes de eso a través del semioficial Canal EPEL .

    SuSE incluyó XFS como una opción de tiempo de instalación mucho antes que Red Hat, volviendo a SLES 8 , lanzado en 2002. No es el valor predeterminado actual, pero ha sido oficialmente compatible todo ese tiempo.

    Hay muchas otras distribuciones de Linux, y RHEL y SuSE no son las distribuciones más populares en todo el espacio de Linux, pero son las grandes distribuciones de hierro de elección. Están jugando donde las ventajas de JFS y XFS son más importantes. Estas compañías no siempre pueden menear al perro, pero en preguntas que involucran hierro grande, a veces sí pueden.

  • XFS es de SGI , una compañía que esencialmente ya no existe. Antes de morir, cedieron formalmente cualquier derecho que tenían en XFS para que la gente de Linux se sintiera cómoda al incluirlo en el núcleo.

    IBM también ha otorgado suficientes derechos a JFS para que los mantenedores del kernel de Linux estén cómodos, pero no podemos olvidar que son una compañía activa, multimillonaria, con miles de patentes. Si IBM alguna vez decidiera que su soporte de Linux ya no está alineado con sus intereses, bueno, podría ponerse feo.

    Claro, alguien probablemente posee los derechos de IP de SGI ahora y podría hacer un escándalo, pero probablemente no resultaría peor que la debacle de la OCS . IBM podría incluso pesan y ayuda calabaza como un troll, ya que sus intereses hacen actualmente incluye soporte a Linux.

    El punto es que XFS se siente más "libre" para mucha gente. Es menos probable que plantee algún problema futuro de IP. Uno de los problemas con nuestro sistema de IP actual es que los derechos de autor están vinculados a la vida útil de la empresa, y las empresas generalmente no mueren. Bueno, SGI lo hizo. Eso hace que las personas se sientan mejor al tratar la contribución de SGI de XFS como la contribución de cualquier individuo.

  • En cualquier sistema que implique efectos de red en el que tenga dos alternativas más o menos equivalentes, JFS y XFS en este caso, casi nunca obtiene una división de participación de mercado de 50/50.

    Aquí, los efectos de la red son entrenamiento, compatibilidad, disponibilidad de funciones ... Estos efectos empujan el equilibrio cada vez más hacia la opción que obtuvo esa victoria temprana. Sea testigo de Windows contra OS X, Linux contra todos los demás- * ix, Ethernet contra Token Ring ...

Warren Young
fuente
Su comparación entre Windows y OS X no es del todo justa. OS X salió en 2001, momento en el que Windows (tanto el sistema operativo, el sistema de archivos NTFS y la API Win32) era desde hace mucho tiempo un jugador bien establecido. Windows (particularmente la línea NT) y Mac OS clásico jugaron dos juegos completamente diferentes, especialmente en el mercado corporativo, y a la mayoría de los usuarios domésticos no les importa si están ejecutando HFS +, JFS, XFS, NTFS, ext3fs o whathaveyouFS, siempre que realiza el trabajo de almacenamiento y recuperación de archivos.
un CVn
@ MichaelKjörling: Soy consciente de estas cosas, pero has perdido mi punto, que es que los efectos de red alrededor de DOS llevaron a Windows original a una ventaja sobre Mac OS Classic, que Microsoft mantuvo a través de la introducción de OS X y más allá . Además, la diferencia en los sistemas de archivos entre los dos sistemas operativos está totalmente fuera del punto más amplio, que es simplemente que los efectos de red evitan divisiones de participación de mercado de 50/50; Una de las alternativas siempre toma una decisión decisiva. El líder puede cambiar, pero cuando ocurren fuerzas para hacer ese cambio, la división pasa rápidamente de 50/50 nuevamente.
Warren Young
Que yo sepa los derechos de autor sería caduca una vez que todos los que trabajaron en ese código había muerto durante más de 70 años (aunque en ese punto que es poco probable que alguien estaría interesado en él).
Ángel
@ Ángel: Los desarrolladores de software generalmente se emplean bajo un contrato de "trabajo a sueldo", por lo que la empresa posee automáticamente cualquier código que escriban. Los derechos en XFS probablemente recaigan en SGI o en quien posea su IP ahora, no con los empleados que la crearon.
Warren Young
Warren, entiendo que el copyright expira 70 años después de la muerte del autor (o lo que se especifique en su legislación local) independientemente del propietario del copyright .
Ángel
17

Como alguien que ha trabajado extensamente con JFS en Linux y ha profundizado en el código fuente para solucionar problemas, puedo asumir varias razones:

  1. JFS es un puerto de un sistema de archivos creado para AIX, luego portado a OS / 2 y luego de código abierto. No tiene ninguno de los desarrolladores de AIX trabajando en él, ya que existe un riesgo de contaminación del código, y OS / 2 no se desarrolló durante bastante tiempo.
  2. Desde la lectura de mi código y después del desarrollo de JFS, vi muchos problemas en el código (uno de ellos fue la falla al cambiar el tamaño del FS en máquinas big endian, es decir, las fabricadas por IBM) que fueron solucionadas por el proyecto y no se fusionó con el núcleo principal incluso meses después de la corrección, probablemente porque los desarrolladores de IBM no eran oficialmente los mantenedores de esa parte del árbol.
  3. El código tiene muchos problemas de legibilidad, que probablemente contribuyeron a la falta de soporte oficial por parte de las distribuciones, ya que el código que es difícil de leer es difícil de depurar.
  4. Supongo que uno de los principales usos al comienzo de JFS para Linux fue migrar información y compartir información con sistemas AIX, pero en AIX5L no había una opción (compatible) para usar el sistema de archivos en un disco simple sin el LVM propietario utilizado por AIX, que no estaba disponible para Linux, y JFS se extendió sin que estas extensiones se transfirieran a Linux (consulte el número 1).

Aclaración: a pesar de haber trabajado en IBM en el pasado, nunca fui miembro del equipo de desarrollo de IBM AIX o del equipo de desarrollo de JFS y estas razones asumidas se basan en mi deducción lógica y familiaridad con la historia del sistema de archivos y Linux.

Didi Kohen
fuente
No recuerdo que JFS sea el fs predeterminado para SUSE en cualquier momento; Sin embargo, XFS fue el fs predeterminado durante algunos años (antes de ext4).
Restablece a Monica - M. Schröder el
Tal vez este era un estándar en nuestro sitio y mi memoria me está engañando ... Eliminaré ese punto.
Didi Kohen