Confusión sobre los metadatos | Bifurcaciones nombradas | Atributos ampliados | Horquilla de recursos - HFS +

10

Creo que existe una confusión general sobre la relación entre estos cuatro elementos dispersos en toda la web. Quería arreglar esto.

  1. ¿Son las bifurcaciones con nombre lo mismo que atributos extendidos ? Si no, ¿cuáles son los atributos extendidos?
  2. ¿Se sigue implementando bifurcación de recursos como bifurcación o como atributo extendido ? Si se implementa de otra manera, ¿entonces cómo?
  3. Los metadatos almacenados con un archivo (creador, fecha de modificación ...) existe alguna relación o superposición en la terminología entre los otros tres mencionados. Un ejemplo sería, son atributos extendidos solo pares de metadatos (clave + valor) almacenados en un archivo.

Cualquier respuesta que pueda aclarar cómo estos cuatro están interrelacionados, especialmente con respecto a las tres preguntas, sería muy apreciada y contribuiría a resolver las controversias que veo que ocurren en diferentes recursos.

    
pregunta rubixibuc 16.02.2012 - 07:23

2 respuestas

5

La confusión surge del hecho de que la relación entre estos conceptos es compleja y ha cambiado con el tiempo. En los sistemas actuales, la diferencia entre una bifurcación nombrada y un atributo extendido es en gran medida académica.

Para un atributo extendido, los datos reales se almacenan en el registro de datos del atributo.

Para una bifurcación, lo que se almacena es la lista de bloques de asignación de disco que contienen los datos. Un tenedor de recursos sigue siendo un tenedor.

Los metadatos básicos del sistema de archivos se almacenan en elementos dedicados del propio registro del sistema de archivos, independientemente de los atributos y las referencias de las bifurcaciones nombradas.

    
respondido por el GregW 16.02.2012 - 15:25
2

No soy un experto en esto, pero he leído un poco para tratar de entender lo que está pasando.

Yo diría que "la confusión surge del hecho de que:

  • la relación entre estos conceptos es compleja y
  • ha cambiado con el tiempo y
  • Apple ha implementado tanto APIs a nivel de programa como herramientas como ls o cp para ocultar muchas de las diferencias entre los conceptos ".

AIUI, el archivo de catálogo HFS + contiene registros de archivos de catálogo (entre otras cosas). El registro del archivo de catálogo contiene el tipo de información normal sobre el archivo, como la fecha de creación, la fecha de acceso, etc. El registro del archivo de catálogo también contiene dos estructuras que proporcionan información sobre la ubicación y el tamaño de la bifurcación de datos y de la bifurcación de recursos.

AIUI, HFS + también tiene (copiado de Wikipedia HFS +) un "Archivo de atributos [que] es un nuevo árbol B en HFS Plus que no tiene una estructura correspondiente en HFS. El Archivo de atributos puede almacenar tres tipos diferentes de 4 Registros de KB: registros de atributos de datos en línea, registros de atributos de datos de bifurcación y registros de atributos de extensión. Los registros de atributos de datos en línea almacenan atributos pequeños que pueden caber dentro del propio registro. Los registros de atributos de datos de bifurcaciones contienen referencias a un máximo de ocho extensiones que pueden contener atributos más grandes. Los Atributos de Extensión se usan para extender un registro de Atributo de Datos de Horquilla cuando sus ocho registros de extensión ya están en uso. "

AIUI, los datos almacenados en (o referenciados desde) el Archivo de Atributos (ya sea en línea, Datos de Horquilla o Atributos de Extensión) se conocen como Atributos Extendidos.

Esas son las estructuras de datos, entonces, ¿cómo se usan?

AIUI, primeras versiones del sistema operativo (posiblemente versiones anteriores a 10.4 Tiger, que John Siracusa parece indicar que hubo algunos cambios importantes en esta área), apuntados a la bifurcación de datos y la bifurcación de recursos del archivo de catálogo.

AIUI, una vez que llegamos a 10.4 Tiger, el archivo de atributos se utiliza ampliamente para almacenar todo tipo de datos.

Es posible (pero no lo sé) que en 10.4 y después, se haya señalado cualquier bifurcación de recursos desde el archivo de atributos. Es decir. en respuesta a su primera pregunta, diría que las bifurcaciones nombradas son atributos extendidos, a menos que sean la bifurcación de recursos, y la bifurcación de recursos se menciona en el archivo de catálogo.

El problema al saber cómo se implementan las cosas es que para preservar la compatibilidad con versiones anteriores, y probablemente para admitir el acceso a los sistemas de archivos escritos por una versión de Mac OS desde otra versión, es necesario admitir diferentes cosas y mezclas de cosas. transparente.

No podemos decir a partir de las herramientas normales de la línea de comando del Terminal donde se guardan los datos.

Por lo tanto, el acceso a rsrc podría sugerir que se está accediendo a la Horquilla de Recursos en el archivo de Catálogo.

$ ls -l Icon^M/rsrc
-rwxr-xr-x  1 root  admin  486 23 Jul  2004 Icon?/rsrc

Sin embargo, sabemos que aunque se accede a la sintaxis como un archivo debajo del directorio Icon^M , este no es realmente el caso, porque

$ ls -lR Icon^M
-rwxr-xr-x@ 1 root  admin  0 23 Jul  2004 Icon?

para que Apple haya implementado un caso especial para las Horquillas de Recursos.

Si en cambio lo hacemos

$ ls -l@
-rwxr-xr-x@ 1 root  admin   0 23 Jul  2004 Icon?
    com.apple.FinderInfo    32 
    com.apple.ResourceFork  486 

Esto sugiere que estamos accediendo al archivo de atributos. Pero nuevamente, la implementación de ls puede tener un caso especial para las bifurcaciones de recursos.

John Siracusa señala aquí que las listas de ACL se almacenan como 'Extendido Atributos ', pero están especialmente ocultos, por lo que no se muestran en xattr . Así que, nuevamente, hay un procesamiento de casos especiales en la implementación de xattr.

(Tenga en cuenta que este procesamiento de casos especiales puede estar en el código de la herramienta o en el código de las API subyacentes a las que acceden las herramientas).

GregW, si ves esto, sería bueno obtener una opinión más experta en cuanto a si estoy en la línea correcta, o si simplemente estoy confundido sin esperanzas.

    
respondido por el Tim 01.07.2014 - 23:25

Lea otras preguntas en las etiquetas