29 votos

Linus Torvalds y el OS X del sistema de Ficheros

En 2008, Linus Torvalds dijo la famosa frase en una entrevista que "OS X en algunos aspectos es en realidad peor que la de Windows del programa. Su sistema de archivos es completa y absoluta mierda, que da miedo." He mirado para obtener más detalles acerca de por qué se siente de esta manera sobre el OS X del sistema de ficheros (HFS+ presumiblemente) pero no he sido capaz de encontrar nada.

Linus seguramente no les disgusta el básico de sistema de archivos Unix modelo, y dudo que él odia HFS+ para ser insensibles a mayúsculas / minúsculas. Y a pesar de cómo provocativamente su comentario es dicho, dudo que es completamente sin mérito. Desde que el comentario fue en el contexto de la programación para OS X, sospecho que su opinión puede haber sido basado en el rendimiento, robustez, la interfaz del sistema operativo, o algo a lo largo de esas líneas. ¿Alguien sabe qué quejas de 2008, de la época de Linus pudo haber tenido con el 2008 era de HFS+?

21voto

Graphain Puntos 143

Un trasunto de la "sesión de preguntas Y respuestas en el que Linus hizo el comentario está disponible, pero parece que él no le pidió a elaborar. No estoy seguro de si un análisis más en profundidad de su opinión en HFS+ ha sido escrito en algún otro lugar.

Para el análisis de la cuestión, usted puede tomar un vistazo a John Siracusa Mac OS X los comentarios. En particular, el uno para Mac OS X Lion, que tiene una sección titulada "¿Qué hay de malo con HFS+." Creo que lo más sobresaliente es poco (el énfasis es mío):

La simultaneidad, los metadatos escrito en el correcto orden de los bytes, sub-segunda fecha de la precisión, el apoyo masivo de los tamaños de los volúmenes, y el escaso soporte de archivo son todas las características comunes de los sistemas de archivos Unix. Mac OS X, por supuesto, está construido sobre una de Unix. Cuando HFS+ fue trasladado desde el clásico Mac OS Mac OS X, que necesita ser ampliada para el apoyo conjunto mínimo de características que se espera de los sistemas de archivos Unix.

Algunas de estas características fueron un ajuste fácil, pero otros eran muy difícil de integrar con el sistema de archivos sin romper la compatibilidad hacia atrás. Uno particularmente aterrador ejemplo de ello es la implementación de enlaces duros en HFS+. Para mantener un seguimiento de los enlaces duros, HFS+ crea un archivo independiente para cada enlace duro dentro de un directorio oculto en el nivel root del volumen. Los directorios ocultos son un poco espeluznante, para empezar, pero el verdadero susto viene cuando usted recuerde que el Tiempo de la Máquina se realiza utilizando los enlaces duros para evitar la innecesaria duplicación de los datos.

El punto importante aquí es que Mac OS X es el uso de un sistema de archivos que aún no estaba diseñado para un sistema Unix, fue diseñado para el clásico Mac OS y parcheado para implementar las características de Mac OS X 10.0 mientras se mantiene la compatibilidad hacia atrás. Apple, que posteriormente ha implementado las características adicionales que se tiene ahora en Mac OS X 10.7 (el diario, los metadatos del sistema de ficheros de eventos ...) utilizando el mismo enfoque basado en revisiones en lugar de un "diseño desde el suelo hacia arriba". No estoy seguro de cómo explicar este no técnicamente, pero se podría decir que todas estas características adicionales están descansando en un clásico de Mac OS fundación que nunca fue diseñado para apoyar a ellos. Esto significa que la solución no es tan bueno como podría ser. El ejemplo que Siracusa se va a discutir es que la solución de Apple tuvieron que utilizar para enlaces duros, mientras que dentro de las limitaciones de HFS+ es demasiado sensible a fallos de hardware, que se ve agravada por el hecho de que HFS+, fue también nunca se diseñó para preocuparse de la integridad de los datos. Por supuesto, se mantiene la compatibilidad con classic Mac OS era deseable una limitación en Mac OS X 10.0, pero realmente no lo es ya en Mac OS X 10.7.

7voto

JacquesB Puntos 19878

Aunque no soy un Sistema Operativo de expertos, y He comenzado a usar OSX después de venir de Windows, me considero un PowerUser en Windows, y bastante competente en Linux. Desde ese fondo, Me ha sorprendido bastante modernos sistemas operativos como OS x, el sistema de archivos tiene sus peculiaridades, tales como la manera en que los nombres de los archivos son "mungled".

Entiendo que Linus problemas con HFS+ tallo por el mismo punto: por lo que he encontrado investigando el problema, HFS+ almacena los nombres de los archivos de uso de Unicode, pero cuando un archivo se utiliza la "extendida" o caracteres NO ASCII (como á, é, í, ó, ú, ñ de español o cosas como la ü en alemán), para que Unicode proporciona 2 maneras de codificar el nombre, OSX en silencio "normaliza" la codificación en tiempo de almacenamiento... No es un verdadero problema cuando el archivo ha sido creado y consumido en OSX, pero cuando se comparte información con los usuarios de otros sistemas operativos, el hecho de que el nombre del archivo cambios, hace de todo tipo de extraños comportamientos...

Caso en cuestión: he sido el seguimiento de mi trabajo "artefactos" (archivos, documentos, etc) en la Subversión de la última 8plus años. Al pasar a Mac, tengo el cliente de SVN para Mac, y después de hacer un Checkout de mi directorios relevantes, me encontré con que todos los archivos que tienen acentos parece ser que faltan, y un nuevo archivo con el mismo nombre aparece como no versionados. Cavar en él, el problemas es que el archivo EN el sistema de archivos es de apple-codificado, mientras que los datos en el repositorio utiliza otro (perfectamente válido y legítimo) codificación Unicode...

Este, creo, es un bruto "destrozando" de mis datos. Apple HACE entender a los dos formatos de la codificación del nombre de archivo (acceso a un recurso compartido en Windows, o mediante una memoria USB de Windows muestra el correcto nombres de archivo, etc) pero a la hora de creación del archivo, se decidió que "sabe mejor" y ha cambiado el nombre de los archivos...

De nuevo, no es algo que la mayoría de los usuarios de aviso hasta que se haga una copia de un archivo, o cambiarle el nombre y poner de nuevo a donde el original fue y terminan con dos archivos que aparentemente son la misma!!!)

4voto

Sam Puntos 41

John Siracusa Y Dan Benjamin discutir algunas de las desventajas de HFS+ en Hipercríticos #56.

Que las direcciones de corrupción de datos en HFS+ y considerar algunos de ZFS.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X