Apple File System ( APFS ) es un sistema de archivos propietario desarrollado e implementado por Apple Inc. para macOS Sierra (10.12.4) [6] y posteriores, iOS 10.3 , tvOS 10.2, [7] watchOS 3.2, [8] y todas las versiones de iPadOS . [9] [10] Su objetivo es solucionar los problemas centrales de HFS+ (también llamado Mac OS Extended), el predecesor de APFS en estos sistemas operativos. APFS está optimizado para el almacenamiento en unidades de estado sólido y admite cifrado , instantáneas y mayor integridad de los datos, entre otras capacidades. [11] [12]
Apple File System fue anunciado en la conferencia de desarrolladores de Apple (WWDC) en junio de 2016 como un reemplazo de HFS+ , que había estado en uso desde 1998. [11] [12] APFS se lanzó para dispositivos iOS de 64 bits el 27 de marzo de 2017, con el lanzamiento de iOS 10.3, y para dispositivos macOS el 25 de septiembre de 2017, con el lanzamiento de macOS 10.13 . [13] [8]
En septiembre de 2018, Apple publicó una especificación parcial para APFS que admitía el acceso de solo lectura a los sistemas de archivos de Apple en dispositivos de almacenamiento no cifrados y que no fueran de Fusion. La especificación para el cifrado de software se documentó más adelante. [14]
El sistema de archivos se puede utilizar en dispositivos con cantidades relativamente pequeñas o grandes de almacenamiento. Utiliza números de inodo de 64 bits [2] y permite un almacenamiento más seguro mediante el uso de una tecnología llamada Protección de datos. El código APFS, al igual que el código HFS+, utiliza el comando TRIM para una mejor gestión del espacio y el rendimiento. Puede aumentar las velocidades de lectura y escritura en iOS y macOS [8] , así como el espacio en dispositivos iOS, debido a la forma en que APFS calcula los datos disponibles. [15]
APFS utiliza el esquema de partición GPT . Dentro del esquema GPT hay uno o más contenedores APFS (el GUID del tipo de partición es 7C3457EF-0000-11AA-AA11-00306543ECAC ). Dentro de cada contenedor hay uno o más volúmenes APFS, todos los cuales comparten el espacio asignado del contenedor, y cada volumen puede tener roles de volumen APFS. macOS Catalina (macOS 10.15) introdujo el grupo de volúmenes APFS, que son grupos de volúmenes que Finder muestra como un solo volumen. Los enlaces firmes APFS se encuentran entre los enlaces duros y los enlaces blandos y se vinculan entre volúmenes.
En macOS Catalina, la función de volumen del sistema (que suele denominarse "Macintosh HD") pasó a ser de solo lectura y, en macOS Big Sur (macOS 11), pasó a ser un volumen de sistema firmado (SSV) y solo se montan instantáneas de volumen. La función de volumen de datos (que suele denominarse "Macintosh HD - Data") se utiliza como superposición o sombra del volumen del sistema , y tanto el volumen del sistema como el de datos forman parte del mismo grupo de volúmenes y se muestran como uno solo en Finder.
Los clones permiten que el sistema operativo realice copias de archivos eficientes en el mismo volumen sin ocupar espacio de almacenamiento adicional. Los cambios en un archivo clonado se guardan como extensiones delta , lo que reduce el espacio de almacenamiento necesario para las revisiones y copias de documentos. [10] Sin embargo, no existe una interfaz para marcar dos copias del mismo archivo como clones del otro, o para otros tipos de deduplicación de datos .
Los volúmenes APFS admiten instantáneas para crear una instancia puntual y de solo lectura del sistema de archivos. [10]
El sistema de archivos de Apple admite de forma nativa el cifrado de disco completo , [2] y el cifrado de archivos con las siguientes opciones:
APFS admite números de inodo de 64 bits y admite más de 9 quintillones de archivos (2 63 ) en un solo volumen. [2] [5]
El sistema de archivos de Apple utiliza sumas de comprobación para garantizar la integridad de los metadatos, pero no de los datos del usuario. [16]
El sistema de archivos de Apple está diseñado para evitar la corrupción de metadatos causada por fallas del sistema . En lugar de sobrescribir los registros de metadatos existentes, escribe registros completamente nuevos, apunta a los nuevos y luego libera los antiguos, un enfoque conocido como redireccionamiento al escribir . Esto evita registros dañados que contienen datos parcialmente antiguos y parcialmente nuevos causados por una falla que ocurre durante una actualización. También evita tener que escribir el cambio dos veces, como sucede con un sistema de archivos con registro HFS+, donde los cambios se escriben primero en el registro y luego en el archivo de catálogo. [16]
APFS admite la compresión transparente de archivos individuales mediante Deflate (Zlib), LZVN (libFastCompression) y LZFSE . Los tres son algoritmos de tipo Lempel-Ziv . Esta característica se hereda de HFS+ y se implementa con el mismo sistema AppleFSCompression / decmpfs mediante bifurcaciones de recursos o atributos extendidos. Al igual que con HFS+, la transparencia no funciona para las herramientas que no utilizan rutinas envueltas en decmpfs. [17]
APFS agrega la capacidad de tener múltiples unidades lógicas (denominadas volúmenes ) en el mismo contenedor donde hay espacio libre disponible para todos los volúmenes en ese contenedor (dispositivo de bloque). [18]
Si bien APFS incluye numerosas mejoras en comparación con su predecesor, HFS+, se han observado una serie de limitaciones.
APFS no proporciona sumas de comprobación para los datos del usuario. [19] Tampoco aprovecha la memoria de acceso aleatorio no volátil direccionable por bytes . [20] [21]
La enumeración de archivos, y de cualquier metadato de inodo en general, es mucho más lenta en APFS cuando se encuentra en una unidad de disco duro . Esto se debe a que, en lugar de almacenar metadatos en una ubicación fija como lo hace HFS+, APFS los almacena junto con los datos reales del archivo. Esta fragmentación de metadatos significa que se realizan más búsquedas al enumerar archivos, lo que es aceptable para SSD pero no para HDD. [22]
A diferencia de HFS+, APFS no admite enlaces duros a directorios. [3] [23] Dado que la versión del software de copia de seguridad Time Machine incluida en Mac OS X 10.5 (Leopard) a macOS 10.15 (Catalina) dependía de enlaces duros a directorios, APFS inicialmente no era una opción compatible para sus volúmenes de copia de seguridad. [24] [23] Esta limitación se superó a partir de macOS 11 Big Sur , donde APFS es ahora el sistema de archivos predeterminado para las nuevas copias de seguridad de Time Machine ( las unidades de copia de seguridad con formato HFS+ existentes también siguen siendo compatibles). [25] La implementación de Time Machine de macOS Big Sur junto con las unidades con formato APFS permite "copias de seguridad más rápidas, más compactas y más fiables" de las que eran posibles con las unidades de copia de seguridad con formato HFS+. [26] [27]
En macOS Sierra 10.12.4 se ofrece una versión experimental de APFS, con algunas limitaciones. Está disponible a través de la diskutil
utilidad de línea de comandos. Entre estas limitaciones, no realiza la normalización Unicode mientras que HFS+ sí lo hace, [33] lo que genera problemas con idiomas distintos del inglés. [34] Las unidades formateadas con la versión de APFS de Sierra también pueden no ser compatibles con versiones posteriores de macOS o APFS, y la versión de APFS de Sierra no se puede utilizar con Time Machine , volúmenes FileVault o Fusion Drives. [35]
Desde macOS 10.13 High Sierra , todos los dispositivos con almacenamiento flash se convierten automáticamente a APFS. [36] A partir de macOS 10.14 Mojave , las unidades Fusion Drives y los discos duros también se actualizan en la instalación. [37] La interfaz de usuario principal para actualizar no presenta una opción para optar por no realizar esta conversión, y los dispositivos formateados con la versión High Sierra de APFS no serán legibles en versiones anteriores de macOS. [36] Los usuarios pueden desactivar la conversión de APFS utilizando la startosinstall
utilidad del instalador en la línea de comandos y pasando --converttoapfs NO
. [38]
Los volúmenes de FileVault no se convierten a APFS a partir de macOS Big Sur 11.2.1. En su lugar, macOS formatea las unidades FileVault externas como volúmenes lógicos CoreStorage formateados con Mac OS Extended (Journaled). Las unidades FileVault se pueden cifrar de forma opcional. [ cita requerida ]
iOS 10.3 , tvOS 10.2 y watchOS 3.2 convierten el sistema de archivos HFSX existente a APFS en dispositivos compatibles. [13] [8] [39]
A pesar de la ubicuidad de los volúmenes APFS en los Mac actuales y la introducción del formato en 2016, las utilidades de reparación de terceros siguen teniendo limitaciones notables en la compatibilidad con volúmenes APFS, debido a la publicación tardía de la documentación completa por parte de Apple. Según Alsoft, el fabricante de DiskWarrior, la publicación en 2018 de la documentación parcial del formato APFS por parte de Apple ha retrasado la creación de una versión de DiskWarrior que pueda reconstruir de forma segura los discos APFS. [40] Se espera que los productos de la competencia, incluidos TechTool de MicroMat y Drive Genius de Prosoft, también aumenten la compatibilidad con APFS.
Paragon Software Group ha publicado un kit de desarrollo de software bajo la licencia BSD de 4 cláusulas que admite el acceso de solo lectura a las unidades APFS. [41] Una implementación independiente de código abierto de solo lectura de Joachim Metz, libfsapfs, se publica bajo la Licencia Pública General Reducida de GNU v3. Se ha empaquetado en repositorios de software de Debian , Fedora Linux , Rocky Linux , Red Hat Enterprise Linux y Ubuntu . [42] [43] [44] Ambas son herramientas de línea de comandos que no exponen una interfaz de controlador de sistema de archivos normal. Hay un controlador de sistema de archivos en espacio de usuario (FUSE) para Linux llamado apfs-fuse con acceso de solo lectura. [45] Un proyecto "APFS para Linux" está trabajando para integrar el soporte de APFS en el núcleo de Linux. [46]
APFS para Windows de Paragon es un producto comercial que permite compatibilidad de lectura y escritura en volúmenes APFS en todas las versiones de Windows, desde Windows 7 hasta Windows 11 y desde Windows Server 2008 R2 hasta Windows Server 2022, pero no puede formatear ni verificar volúmenes APFS y no puede leer volúmenes APFS que estén cifrados por hardware contra el chip de seguridad Apple T2 . [47]
APFS en este momento es incompatible con Time Machine debido a la falta de enlaces duros de directorios, una implementación bastante desagradable que probablemente contribuya a la confiabilidad cuestionable de Time Machine.
Biblioteca y herramientas para acceder al sistema de archivos de Apple (APFS)