You are on page 1of 13

1

SISTEMA DE ARCHIVOS HFS+ SISTEMA DE ARCHIVOS 2 .

HFS+ SISTEMA DE ARCHIVOS HFS+ SISTEMA DE ARCHIVOS HFS+ SISTEMA DE ARCHIVOS HFS+ SISTEMA DE ARCHIVOS HFS+ SISTEMA DE ARCHIVOS HFS+ SISTEMA DE ARCHIVOS 3 .

Posibilidad de almacenar datos metadata de una forma flexible. Debido a la funcionalidad con windows Apple incluyó a partir de Snow Leopard drivers para posibilitar que este sistema operativo fuera también capaz de leer discos HFS+ Los objetivos básicos que se buscaron en el desarrollo de este sistema fueron: 1. BLOQUES DE ARRANQUE -> Ocupan los sectores 0 y 1 y son parte fundamental del arranque del sistema. 6. Búsqueda de un uso eficiente del disco.ipad. 4 .iphone y ordenadores. dejando libre el resto de bloques para la información a guardar. Manejo de discos de mayor tamaño.HFS+ SISTEMA DE ARCHIVOS El sistema de archivos HFS+ (Hierarchical File System Plus) es un sistema desarrollado por Apple como reemplazo del HFS. El explorador de archivos es fundamental para el acceso a disco duro a través del sistema operativo comúnmente estructurado en carpetas.2 del sistema operativo. 4. Este sistema de archivos fue introducido en 1998 con el OS 8. Posibilidad de arranque en sistemas no basados en Mac OS. Utilización de nombres internacionales Unicode. 5. 3. Este formato pretende ser universal para todos los dispositivos Apple: ipod. Las principales partes de un sistema de archivos HFS+ se describen a continuación en el mismo orden en que se muestran en el gráfico. 2.2. La figura mostrada a continuación muestra la estructura de un archivo HFS+ Se ve que existen ciertas partes reservadas que contienen meta información sobre el sistema de archivos. Posibilidad de nombres UTF-16 de hasta 255 caracteres. pudiendo direccionar 232 bloques (HFS 216). discos y lanzamiento de aplicaciones. Y fue introducido gradualmente a partir del 2002 con la actualización 10.1 a pesar de que este inicio solo se trataba de un prueba beta. A través de la aplicación Finder de Mac Os X se gestionan los archivos de usuario y se realiza un uso más eficiente del sistema de ficheros.

Particiones: 5 . Lo utiliza durante el proceso de fabricación del ordenador. pero diseñado especialmente para aquellos sistemas operativos que no ofrezcan soporte nativo para HFS+. En forma de árbol-B* . Esta sección esta diseñada para que sea utilizada por la aplicación utilidades de disco de Apple. Los bloques erróneos también se guardan en esta sección. Un disco duro puede estar dividido en particiones. CABECERA ALTERNATIVA DE VOLUMEN -> Almacena en el penúltimo sector del disco la misma información que la cabecera del volumen. ya que en el fichero de reservas se pueden direccionar hasta 8 bloques de cada fichero. Como mínimo debe tener una partición y esta deberá estar activa. El resto de bloques de cada fichero se debe direccionar en esta sección.) de cada elemento del sistema de archivos. La estructura de archivos en mac os x HFS+ se utiliza sin límite en el tamaño de archivo. FICHERO DE RESERVAS -> Lleva el control de bloques libres y asignados. Estos elementos pueden ser tanto ficheros como directorios. FICHEROS ATRIBUTO -> Contiene información sobre los atributos (permisos de lectura y escritura. El control se lleva a través de un mapa de bits. la fecha de creación o la localización del resto de partes del volumen.. ÚLTIMO SECTOR -> Está reservado para uso de Apple. como es el número de volúmenes que contiene. FICHERO DE DESBORDE DE EXTENSIÓN -> Contiene información sobre los bloques que tiene cada fichero en el volumen. Esta parte tiene un tamaño variable y no tiene por que estar almacenada de forma contigua en el disco.CABECERA DEL VOLUMEN -> Guarda en el sector 2 ciertos datos generales sobre el volumen en si. Un fichero solo aparecerá en esta sección si ocupa más de 8 bloques. La organización de archivos suele ser por asignación jerárquica.. FICHERO DE ARRANQUE -> Similar a los bloques de arranque. FICHERO CATÁLOGO -> Contiene información sobre los ficheros y directorios que contiene el volumen completo.

Fue desarrollado por Open Source Foundation para su sistema operativo OSF/1 y luego adaptado por Apple para la arquitectura x86 en el marco del proyecto OpenStep. En Mac OS X casi todos los ficheros que contienen código ejecutable. como las aplicaciones. Partición que sólo puede existir en las particiones extendidas. Esto permite al núcleo garantizar el lanzamiento de los ficheros sólo en aquella plataforma para la que fueron compilados. Ha de haber una partición primaria activa que será la que contenga el sistema operativo que arranque en ese momento el ordenador . macho se puede dividir en tres partes: título.Extendida. A veces. El título y las instrucciones de carga describe las principales características del fichero. Puede haber un máximo de cuatro particiones primarias en cada disco duro. Además. permiten al procesador determinar el orden de los bytes. Sólo habrá una partición extendida. Cada una de ellas pueden contener sistema operativo propio. Es un tipo de partición que permite tener indefinidas unidades lógicas. Se creó para saltarse el límite de las cuatro particiones primarias. Dentro de ella podrá haber indefinidas particiones lógicas.Lógica. . el fichero binario puede 6 . El título define la arquitectura para la cual se ha compilado el fichero. Título -> Los primeros cuatro bytes del título determinan el así llamado “magic number”. que pueden constar de varias secciones. mientras que el segmento de datos contiene un conjunto de bytes a los cuales se remiten las instrucciones de carga. No pueden contener un sistema operativo si lo contienen se debe instalar un gestor de arranque para que el ordenador cargue ese sistema operativo. que identifica el fichero como de 32 o 64 bytes. bibliotecas y módulos del núcleo se realizan en forma de ficheros en formato macho.Bloques de Arranque Reservado(1024 bytes) Cabecera de Volumen Ficheros de Reserva Ficheros de desborde de extensión Fichero de Catalogo -Primaria. El formato macho no es un programa desarrollado originalmente por Apple. instrucciones de carga y segmentos. Fichero de Atributos Fichero de Arranque Cabecera alternativa del volumen Ultimo sector Reservado (512 bytes) A grandes rasgos. El formato de ficheros macho y la especificación ABI (Application Binary Interface) describen la manera en que el núcleo debe cargar y lanzar el fichero ejecutable en Mac Os.

contener código para más de una arquitectura. Los segmento __TEXT y __DATA contienen cero o más secciones. Este formato se conoce como Universal Binaries. __OBJC -> Contiene datos usados por el medio de ejecución Ojective-C. el código ejecutable y no ejecutable se guardan en un segmento separado. líneas de texto. __TEXT -> Contiene datos con acceso sólo de lectura y ejecución. __DATA -> Contiene datos con acceso de escritura. En este caso el fichero empieza por un título fat. qué derechos de acceso tiene y dónde está ubicado en la memoria. las constantes. Cada sección contiene un determinado tipo de datos. no tiene ninguna protección. Esta sección está marcada como copy-on-write. Instrucciones de carga -> El campo de instrucciones de carga contiene una lista de instrucciones que comunican al núcleo de qué manera debe cargar los diferentes segmentos del fichero. Nombre Completo Hierarchical File System Plus Nombres alternativos Sistema de archivos Mac OS Plus HFS Plus HFS + Introducido 19 de enero 1998 Identificador de la partición De Apple mapa de particiones Apple_HFS MBR 0xAF De Apple Partition Map con HFS X Apple_HFSX GPT 48465300-000011AA-AA1100306543ECAC Contenido Directorio B-tree 7 . por ejemplo: el código usado. Así. Este segmento no tiene ningún campo en el fichero en el disco. Revelador Apple Inc. etc. Estas instrucciones describen cómo cada segmento está alineado en la memoria. Segmentos y secciones -> El fichero ejecutable macho suele tener 5 segmentos: __PAGEZERO -> Ubicado en la dirección virtual cero. __LINKEDIT -> Contiene datos que se usan para establecer relaciones dinámicas.

Linux. bloqueado.4 archivos en adelante) Compresión transparente Sí (OS X 10. inited. sin recursos INIT. compartido. papelería. todas las otras banderas de 1 bit). OS X. ACL (OS X v10. icono personalizado. atributos modificados. Mac OS 9. creado Intervalo de fechas 1 enero 1904 hasta 6 febrero 2040 Fecha de Resolución 1s Forks Sí Atributos Color (3 bits. Microsoft Windows 8 . NFSv4.De asignación de archivos Bitmap Bloques de Bad B-tree Tamaño máximo de archivo 8 Exabyte Número máximo de archivos 4294967295 Longitud máxima del fichero 255 caracteres Volumen máximo tamaño 8 Exabyte Caracteres permitidos en nombres de archivo Unicode Fechas grabadas Access.6 y superior) Encriptación Transparente Sí (OS X 10. alias. escritorio Permisos del sistema de Permisos de Unix.7 y superior) Sistemas operativos compatibles Mac OS 8.1. invisible. y Darwin. paquete. con el respaldo. sistema. el contenido modificado.

En concreto: 2^31 o 2147 483 648.2^31 = 9223 372 034 707 292 160. 2^63 . 9 . En la práctica. 2. Un exabyte es aproximadamente un millón de terabytes. el tamaño máximo de archivo es equivalente al tamaño máximo del volumen. Por ejemplo. el número real de archivos que se pueden almacenar en un volumen HFS Plus o HFS con registro depende del tamaño del volumen y de los archivos. Un disco más grande con el mismo tamaño de bloque predeterminado puede albergar proporcionalmente más archivos. Este volumen puede almacenar hasta 40 millones de archivos muy pequeños. que es un poco menos de 8 exabytes (EB). El tamaño de archivo máximo teórico de un sistema de archivos de Mac OS con extensión es del orden de los millones de terabytes. pero no 2000 millones. Sin embargo. un volumen de Mac OS Plus de 160 GB con un tamaño de bloque predeterminado de 4 KB tiene 40 millones de bloques disponibles.Límites de los archivos y volúmenes con formato HFS+ 1. con la excepción de una pequeña cantidad de espacio del disco destinado a la información del sistema de archivos. 3.

tiene entre D+1 y 2D+1 descendientes. 2.posicion.numclaves) 10 . contiene entre D y 2D elementos. 3. Las claves de las páginas raíz e interiores se usan como indices.La estructura de este sistema de archivos está basada en una estructura de árbol binario modificado llamado Árbol-B*. Las hojas están siempre al mismo nivel. excepto la raíz. en ellas se encuentran las claves siendo la distancia desde raíz siempre la misma. Cada página. excepto la raíz. La página raíz tiene al menos dos descendientes (INTERNO) 4. Algunas de las características son: 1. Debido a estas características los procesos que ahora vamos a exponer son más eficientes: BUSQUEDA EN ARBOLES-B* El proceso de búsqueda sirve para saber si existe algún valor o clave en el árbol. BUSQUEDA (pagina. Se usa M para expresar el nº de elementos por página. 5. Cada página. esta estructura se ha convertido en la más utilizada para la organización de archivos.

{ SI (pagina no es nula) ENTONCES { SI datox es menor a pagina-> clave(posicion) hacer busqueda(pagina-> clave(posicion)->ptrIZQ. pagina-> numeroclaves) SINO hacer busqueda(pagina->clave (posicion)->ptrDER. pagina ->clave(posicion)-> ptrIZQ()->numclaves) SINO { SI datox es igual a pagina->clave(posicion) { SI pagina->clave(posicion)->punteroDER no es nula hacer busqueda(pagina->clave(posicion)->ptrDER. 0. pagina->clave(posicion->ptrDER()->numclaves)) } } } SINO presentar “LA CLAVE NO EXISTE” } INSERCIÓN EN ARBOLES-B* 11 . datox. datox. datox. 0. datox. (posicion+1). 0. pagina->clave(posicion)->ptrDER()-numclaves) SINO presentar “LA CLAVE SI EXISTE” } SINO { SI posicion es menor que numero de claves hacer busqueda(pagina.

-Puede suceder que la página antecesora desborde nuevamente. es decir. entonces se repetiría el proceso anterior. } } BORRADO EN ARBOLES-B* 12 . En este caso la página afectada se divide en 2 distribuyéndose las M+1 claves de la siguiente forma: -Las D primeras claves en la página de la izquierda y las D+1 restantes en la página derecha.La dificultad se presenta cuando desea insertarse una clave en una página que se encuentra llena. M) SI (M < 2D) ENTONCES { Clave= x SINO { SI (M = 2D) La página se divide en 2 se distribuyen M+1 claves de forma equitativa como hemos mencionado anteriormente. -Una copia de la clave del medio sube a la pagina antecesora. x. INSERCION (PAG. M=2D. i.

Las claves de las páginas raíz o internas no se modifican por más que sean una copia de la clave elimina de las hojas.Si al eliminar una clave. entonces termina la operación de borrado. 13 . M queda mayor o igual a D.