HFS es un sistema de archivos creado POR Apple(Patrick Dirks y Bill Bruffey) en 1985 específicamente para ordenadores MAC/OS reemplazando a Macintosh File System(MFS).
Los archivos podrían tener bifurcaciones múltiples (normalmente datos y una bifurcación del recurso), lo cuál permitió que el código del programa fuese almacenado por separado de recursos tales como iconos que pudiesen necesitar ser localizados.
Los archivos fueron referidos con IDs únicas y los nombres del archivo podían tener 255 caracteres de largo (aunque Finder apoyó solamente un máximo de 63 caracteres).
Aunque HFS es un formato de sistema de ficheros propietario, esta bien documentado por lo que hay soluciones para acceder a los discos con formato HFS desde la mayoría de los sistemas operativos modernos

Bloques lógicos 0 y 1 del volumen son los bloques de arranque, que contienen la información de inicio del sistema.
Bloque lógico 2 contiene el directorio MDB (Master Directory Block). Este define una amplia variedad de datos sobre el volumen en sí, por ejemplo la fecha y timestamp de cuando se creó el volumen, la localización de las otras estructuras de volumen, como el volumen del mapa de bits o el tamaño de las estructuras lógicas como los bloques de asignación.
Bloque lógico 3 es el bloque de inicio del volumen del mapa de bits (Volume Bitmap), que mantiene un registro de los bloques de asignación que están en uso y de los que están libres. (cada bloque esta representado por un bit en el mapa)
El Extent Overflow File (Archivo de desbordamiento) es un árbol B* que contiene extensiones que registran que bloques de asignación están asignados a que archivos, una vez que las tres extensiones iniciales del Catalog File están usadas. Las versiones posteriores también añaden la capacidad de que el Extent Overflow File registre los bloques defectuosos, para evitar que el sistema de ficheros intente asignar un bloque defectuoso a un archivo.
El Catalog File es otro árbol B* que contiene registros para todos los archivos y directorios almacenados en el volumen. Almacena cuatro tipos de registros.
1. Un File Thread Record almacena sólo el nombre del fichero y el CNID de su directorio padre.
2. Un File Record almacena diversidad de metadatos sobre el fichero incluyendo su CNID, el tamaño del fichero, tres timestamps, el primer fichero extendido de los datos y los recursos y punteros al primer dato del archivo y registros de recursos extendidos en el Extent Overflow File.
3. Un Directory Thread Record almacena sólo el nombre del directorio y el CNID de su directorio padre.
4. Un Directory Record almacena datos como el número de ficheros almacenados en el directorio, el CNID del directorio, tres marcas de tiempo.
No hay comentarios:
Publicar un comentario