x
1

HFS



Sistema de Archivos Jerárquico o Hierarchical File System (HFS), es un sistema de archivos desarrollado por Apple Inc. para su uso en computadores que corren Mac OS. Originalmente diseñado para ser usado en disquetes y discos duros, también es posible encontrarlo en dispositivos de solo-lectura como los CD-ROMs. HFS es el nombre usado por desarrolladores, pero en la documentación de usuarios el formato es referido como estándar Mac Os para diferenciarlo de su sucesor HFS+ el cual es llamado Extendido Mac Os.

HFS fue introducido por Apple en septiembre de 1985 para reemplazar el Macintosh File System (Sistema de Archivos Macintosh o MFS), el sistema de archivos original el cual fue introducido un año antes que los Computadores Macintosh. Desarrollado por Patrick Dirks y Bill Bruffey, HFS compartió un número de características del diseño con MFS que no estaban disponibles en otros sistemas de ficheros de aquellos tiempos (tales como FAT de DOS). Los archivos podrían tener bifurcaciones múltiples (normalmente datos y una bifurcación del recurso), lo cual 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).

Sin embargo MFS estaba optimizado para ser utilizado en medios de almacenamiento pequeños y lentos como los disquetes, HFS se introdujo para superar algunos de los problemas de rendimiento que llegaron con la introducción de los grandes medios de almacenamiento como los discos duros. La principal preocupación era el tiempo necesario para mostrar el contenido de un directorio. Bajo MFS toda la lista de información de los archivos y directorios era almacenada en un único archivo, que el sistema tenía que buscar para construir una lista de los archivos almacenados en un directorio particular. Esto funcionaba bien con un sistema de pocos cientos de kilobytes de almacenamiento y quizás un centenar de archivos, pero como los sistemas crecieron en megabytes y miles de archivos, el rendimiento decreció rápidamente.

La solución fue reemplazar la estructura de directorios de MFS por una más adecuada a los sistemas de ficheros más grandes. HFS sustituyó la estructura de tabla plana por el archivo de catálogo (Catalog File) que utiliza una estructura de árbol B* que puede realizar búsquedas con gran rapidez, independientemente de su tamaño.

Aunque HFS es un formato de sistema de ficheros Ben propietario, está bien documentado por lo que hay soluciones para acceder a los discos con formato HFS desde la mayoría de los sistemas operativos modernos. En 1998, Apple introdujo HFS+ para abordar la ineficacia en la asignación de espacio en disco en HFS y añadir otras mejoras. HFS es aún soportado por las versiones actuales de Mac OS, pero a partir de Mac OS X un volumen HFS no puede utilizarse para arrancar.

El sistema de ficheros jerárquico divide un volumen en bloques lógicos de 512 bytes. Estos bloques lógicos están agrupados juntos en bloques de asignación (allocation blocks) que pueden contener uno o más bloques lógicos dependiendo del tamaño total del volumen. HFS usa un valor de dirección de 16 bits para los bloques de asignación, limitando el número de bloques de asignación a 65.536.

Hay cinco estructuras que conforman un volumen HFS:

El Catalog File, que almacena todos los registros de archivos y directorios en una estructura de datos sencilla, resulta un problema de rendimiento cuando el sistema permite multitarea, solo un programa puede escribir en esta estructura a la vez, esto significa que muchos programas deben estar esperando en cola hasta que el primer programa libera el sistema. También es un problema serio de fiabilidad dañar este archivo ya que puede destruir el sistema de ficheros entero. Esto contrasta con otros sistemas de ficheros que almacenan registros de directorios y archivos en estructuras separadas (como el sistema de archivos FAT de Microsoft o el Sistema de Archivos Unix, UFS), donde tener estructuras distribuidas en todo el disco significa que dañar un directorio no es en general fatal y, posiblemente, los datos pueden ser reconstruidos con los datos de las partes no dañada.

Además, el límite de 65.535 bloques de asignación da lugar a archivos que tienen un tamaño “mínimo” equivalente a 1/65.535 del tamaño del disco. Por lo tanto, cualquier volumen, no importa su tamaño, solo puede almacenar un máximo de 65.535 archivos. Sin embargo, a cualquier archivo se le podría asignar más espacio del que necesita realmente, hasta el tamaño del bloque de asignación. Cuando los discos eran pequeños, esto no importaba mucho, porque el tamaño los bloques de asignación individuales era muy pequeño, pero como los discos empezaron a superar la marca de 1 GB, la menor cantidad de espacio que puede ocupar un archivo (un solo bloque de asignación) se convirtió en excesivamente grande, perdiendo importantes cantidades de espacio en disco. Por ejemplo, en un disco de 1 GB, el tamaño de los bloques de asignación bajo HFS es 16 KB, por lo que un archivo de 1 Byte ocuparía 16 KB de espacio de disco. Este problema fue menor para los usuarios que tenían grandes archivos en un menor volumen, porque ocupan mucho menos espacio que si residieran en una gran partición. El mismo problema existe en el sistema de archivos FAT16.



Escribe un comentario o lo que quieras sobre HFS (directo, no tienes que registrarte)


Comentarios
(de más nuevos a más antiguos)


Aún no hay comentarios, ¡deja el primero!