Los sistemas de archivos de macOS
Como se mencionó en el artículo sobre los conceptos básicos del sistema de archivos, un sistema operativo es uno de los factores clave que determinan la elección de un formato de un medio de almacenamiento. Y cuando se trata de macOS, las variantes disponibles están restringidas por la naturaleza cerrada del ecosistema de Apple. Todas las computadoras Mac modernas en macOS 10.14 y en sus versiones posteriores usan APFS de forma predeterminada que también se comparte con el resto de los productos de Apple: los dispositivos basados en iOS, iPadOS, tvOS y watchOS. Al mismo tiempo, todavía se soporta HFS+, el estándar anterior, para preservar la compatibilidad con las máquinas de generaciones anteriores. Aquí puede familiarizarse con estos dos tipos de sistemas de ficheros y sus principios de organización de datos.
Tenga en cuenta: Aunque macOS permite formatear medios extraíbles con FAT/FAT32 o exFAT y soporta la lectura y escritura de los últimos, estos sistemas de archivos se describen en detalle en otro artículo dedicado a los sistemas de Windows de Microsoft.
APFS
APFS (del inglés Apple File System, Sistema de archivos de Apple) se introdujo en 2017 junto con el lanzamiento de macOS High Sierra 10.13 y se diseñó exclusivamente para el uso en los productos de Apple, incluidos Mac, iPhone, iPad, Apple Watch y Apple TV.
Este formato de nueva generación tiene como objetivo funcionar de manera eficiente con memorias flash y unidades de estado sólido. Y esto no sorprende, ya que la gran mayoría de los dispositivos modernos de Apple emplean las unidades SSD como sus almacenamientos principales. Además, APFS aborda los problemas fundamentales de HFS+, su predecesor en los dispositivos antes mencionados, y ofrece muchas características con respecto a la integridad de datos y el ahorro de espacio.
El sistema de archivos utiliza la técnica de Copiar en escrito (VACA) o Copy-on-Write (CoW) que minimiza el riesgo de corrupción. Antes de la aparición de APFS, los cambios se escribían directamente en los bloques de almacenamiento ocupados por los objetos existentes. Y APFS, en cambio, nunca los sobrescribe en sitio, sino que crea sus copias y realiza los cambios necesarios en una nueva ubicación en el almacenamiento, lo que garantiza la protección de las modificaciones de los fallos.
APFS usa el Contenedor (Container) como un elemento principal para almacenar datos. Un solo Contenedor puede contener varios volúmenes (sistemas de archivos) que comparten el espacio de almacenamiento disponible en él. La información sobre el número de bloques en el Contenedor, el tamaño de bloque, etc. se almacena en el Superbloque del contenedor (Container Superblock) que también sirve como un punto de entrada a cada volumen. La asignación de bloques en todo el Contenedor se rastrea con la ayuda de un solo bitmap (mapa de bits) común.
Al mismo tiempo, los volúmenes tienen sus propios Superbloques del volumen (Volume Superblock) y estructuras independientes para almacenar datos y metadatos. Todos los archivos y las carpetas que ellos contienen se administran mediante las estructuras binarias de árbol de búsqueda, que se llaman Árboles B de archivos y carpetas. Los nodos de dichos árboles almacenan claves y valores.
El contenido de cualquier archivo está representado por al menos un extent que contiene información sobre la ubicación de su inicio y su longitud en bloques. Todos los extents en un volumen son manejados por un árbol B dedicado.
No obstante, a pesar de su estructura optimizada y otros beneficios aparentes, APFS se ha desarrollado pensando principalmente en el almacenamiento de memoria flash y es posible que no sea la mejor opción para las unidades de disco duro mecánicas. Incluso puede causar su fragmentación excesiva y, como resultado, conducir a un rendimiento degradado. Asimismo, es imposible acceder a un volumen APFS desde las versiones anteriores de macOS, por ejemplo, macOS Sierra 10.12 o una anterior, lo que puede convertirse en un obstáculo en ciertos escenarios de uso.
HFS+
HFS+ (del inglés Hierarchical File System Plus, Sistema de archivos jerárquico plus), también conocido como Mac OS Extended, se lanzó en 1998 con Mac OS 8.1 y sirvía como el sistema de archivos predeterminado para las computadoras Mac, así como para los productos iPod y Xserve, antes de la aparición de APFS en macOS High Sierra 10.13. Originalmente, era solo una extensión del formato HFS heredado que ahora tiene casi cuarenta años.
HFS+ usa el mecanismo de registro por diario (journal) para prevenir la corrupción de sus estructuras. Todas las modificaciones se documentan en el Registro, lo que permite restaurarlas rápidamente en caso de eventos inesperados, como cortes de energía.
Una de las estructuras centrales de HFS+ se llama Encabezado de volumen (Volume Header) y se encuentra al comienzo de un volumen HFS+. Este contiene los parámetros generales del sistema de ficheros junto con las ubicaciones de otros elementos cruciales. La mayor parte de otra información de servicio está organizada en archivos especiales que pueden encontrarse en diferentes partes del volumen y están representados principalmente por los árboles B.
En HFS+, todo el espacio de almacenamiento se divide en bloques de asignación iguales. El estado de cada bloque de asignación se registra en el Archivo de asignación (Allocation File) que es similar a un bitmap (mapa de bits). Como regla general, dichos bloques se asignan a archivos en grupos continuos, lo que ayuda a reducir su fragmentación.
Los archivos pueden tener dos conjuntos de datos. El contenido real del archivo es referido como data fork, mientras que la información adicional sobre él se almacena como resource fork. Una secuencia de bloques contiguos que pertenece a un fork se llama extent que, a su vez, se representa por la posición inicial y el número de bloques que contiene.
El Archivo de catálogo (Catalog File) tiene registros para todos y cada uno de los archivos y directorios en el sistema de archivos. Dichos registros contienen la mayor parte de los metadatos y también los primeros ocho extents de cada fork. Otros extents, si están disponibles, se guardan en el Archivo de desbordamiento de extents (Extents Overflow File). Y, por último, los atributos adicionales de archivos y carpetas se almacenan en el Archivo de atributos (Attributes File).
Entre otras cosas, HFS+ soporta múltiples referencias al contenido del mismo archivo, conocidas como enlaces duros. A diferencia de los archivos normales, los enlaces duros no requieren espacio de almacenamiento adicional: existen en el Archivo de catálogo (Catalog File) como punteros al archivo original que, a su vez, se desplaza al directorio raíz oculto.
Aunque HFS+ ya está desactualizado, se caracteriza por la compatibilidad inversa, lo que permite preservar el acceso a las computadoras en las versiones anteriores de macOS. Por lo tanto, es poco probable que se deje de usar muy pronto.
Sugerencia: Los detalles relacionados con la posibilidad de recuperación de datos de estos tipos de sistemas de archivos se pueden encontrar en los artículos sobre las peculiaridades de la recuperación de datos según el sistema operativo y las posibilidades de recuperación de datos. Si usted está interesado en el lado práctico del procedimiento, consulte la guía de la recuperación de datos en macOS.
Y si busca información sobre los formatos nativos de otros sistemas operativos populares, consulte los siguientes artículos:
-
Los sistemas de archivos de Windows: FAT/FAT32, exFAT, NTFS, ReFS, HPFS
-
Los sistemas de archivos de Linux: Ext2, Ext3, Ext4, XFS, Btrfs, F2FS, JFS, ReiserFS
Última actualización: el 25 de abril de 2023