# Apple File System

Sistema de Archivo de Apple (APFS) es un sistema de archivo propietario para macOS High Sierra y posteriores, iOS 10.3 y posteriores, tvOS 10.2 y posteriores, y watchOS 3.2 y posteriores, desarrollado y desplegado por Apple Inc.. Su objetivo es solucionar problemas de núcleo de HFS+ (también llamado Mac OS Extended), el predecesor de APFS en estos sistemas operativos. El sistema de archivo de Apple está optimizado para unidades flash y estado sólido, con un enfoque principal en encriptación.

## Historia

El sistema de archivo de Apple fue anunciado en la Conferencia de Desarrolladores de Apple (WWDC) en junio de 2016 como sustitución para HFS+, el cual había sido utilizado desde 1998. Fue liberado para dispositivos iOS el 27 de marzo de 2017, con la liberación de iOS 10.3, y para dispositivos macOS el 25 de septiembre de 2017, con la liberación de macOS 10.13.

## Diseño

El sistema de archivo puede ser utilizado en dispositivos con cantidades relativamente pequeñas o grandes de almacenamiento. Utiliza números de inodo de 64-bits, y permite un almacenamiento más seguro. El código APFS, como el código HFS+, utiliza el comando TRIM, para una mejor administración y rendimiento del espacio. Pueda aumentar las velocidades de lectura y escritura en iOS y macOS, así como espacio en dispositivos iOS, debido a la forma de APFS calcula los datos disponibles.

### Clones

Los clones permiten que el sistema operativo haga copias de archivo eficaz en el mismo volumen sin ocupar espacio de almacenamiento adicional. Los cambios en un archivo clonado se guardan como deltas, reduciendo el espacio de almacenamiento requerido para revisiones y copias de documento.

### Copia instantánea de volumen

El sistema de archivo de Apple soporta copias instantáneas de volúmenes, en inglés: snapshots para una instancia de solo lectura del sistema de archivos en un punto en el tiempo.

### Encriptación

El sistema de archivo de Apple soporta nativamente el cifrado de disco completo, y el cifrado de archivos con las siguientes opciones:
* Sin encriptación.
* Cifrado de una sola clave.
* Cifrado multi-clave, donde cada archivo se cifra con una clave separada, y los metadatos se cifran con una clave diferente.

### Número máximo aumentado de archivos

APFS soporta números de inodo de 64-bits, admitiendo más de 9 trillones (en inglés: quintillion) de archivos en un solo volumen.

### Integridad de los datos

El sistema de archivo de Apple utiliza sumas de verificacion para garantizar la integridad de los datos para los metadatos, pero no los datos del usuario.

### Protección contra accidentes

El sistema de archivo 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 en su lugar, escribe registros completamente nuevos, señala los nuevos y luego los suelta. Esto evita los registros dañados que contienen datos parciales nuevos y parciales causados por un bloqueo que ocurre durante una actualización. También evita tener que escribir el cambio dos veces, como ocurre con un sistema de archivos diario HFS+, donde los cambios se escriben primero en el diario y luego en el archivo del catálogo.

### Espacio compartido

APFS agrega la capacidad de tener varias unidades lógicas (denominadas Volúmenes) en el mismo contenedor donde el espacio libre está disponible para todos los volúmenes en ese contenedor.

## Limitaciones

En su primera generación, el sistema de archivo de Apple no proporciona sumas de comprobación para los datos del usuario, pero si para la integridad de los metadatos. Tampoco aprovecha la memoria de acceso aleatorio no volátil redireccionado por bytes, y aún no es compatible con la compresión.
A diferencia de las versiones de HFS+ desde entonces Leopardo, APFS no tiene soporte para enlaces duros a directorios. Esto está en línea con muchos otros sistemas de archivos modernos, pero Time Machine todavía confía en ellos, tan APFS aún no es un todavía una opción para sus volúmenes de copia de seguridad (a partir de macOS 10.13 High Sierra).

## Soporte
### macOS

macOS High Sierra convierte automáticamente el sistema de archivo en los dispositivos con almacenamiento flash a APFS. Los volúmenes de FileVault también se convierten, pero Fusion Drivers y las unidades de disco duro no. La interfaz de usuario principal para actualizar no presenta una opción para cancelar esta conversión, y los dispositivos formateados con la versión de APFS de High Sierra no serán legible en versiones anteriores de macOS. Los usuarios pueden deshabilitar la conversión de APFS utilizando la utilidad startosinstall del instalador en la línea de comando y pasando --converttoapfs Núm.
Una versión experimental de APFS, con algunas limitaciones, está disponible en la versión anterior de macOS (Sierra) a través de la utilidad de línea de comando diskutil. Entre estas limitaciones, no realiza la normalización Unicode mientras HFS+ lo hace, lo que genera problemas con otros idiomas además del inglés. Las unidades formateadas con la versión de Sierra de APFS tampoco pueden ser compatibles con las versiones futuras de macOS o la versión final de APFS, y la versión Sierra de APFS no se puede utilizar con Time Machine, volúmenes de FileVault, o Fusion Drivers.
El kit de actualización de APFS para macOS es un controlador de sistema libre por Paragon Software que permite el acceso de sólo lectura a los volúmenes APFS bajo macOS 10.12 o versiones anteriores. Para los usuarios de Mac que trabajan con versiones heredadas de Mac OS X y macOS donde APFS no es compatible, el controlador permite acceso instantáneo y de solo lectura a datos formateados de APFS almacenado en unidades de disco duro, almacenamiento de estado sólido, o memorias flash.

### iOS, tvOS, y watchOS

iOS 10.3, tvOS 10.2, y watchOS 3.2 convierten el sistema de archivo HFSX existente APFS en dispositivos compatibles.