Système de fichiers Apple (APFS)
Inodes 64 bits, transactions atomiques, horodatages en nanosecondes, clonage d'annuaire, cryptage intégré
Lors de la présentation d' hier à la WWDC 2016 , Apple a présenté de nouvelles versions de macOS (Sierra) 10.12, iOS 10, tvOS 10, watchOS 3, une application Swift Playgrounds pour l'enseignement de la programmation pour enfants et de nouveaux emojis.Cela ne semble rien d'intéressant. Cependant, Apple a toujours déployé quelque chose de fondamental. Le développement le plus significatif de tout ce qui a été mentionné lors de la présentation est le système de fichiers de nouvelle génération Apple File System (APFS) dans macOS (Sierra) 10.12.Sur le site pour les développeurs, peu de temps après la présentation, une documentation a été publiée avec les principales caractéristiques et une description du système de fichiers, qui répète les fonctions individuelles du puissant système de fichiers ZFS gratuit.Les ordinateurs Apple utilisent désormais le système de fichiers HFS +, une version étendue du HFS (Hierarchical File System, créé il y a plus de 30 ans). Comme son prédécesseur, HFS + utilise une structure arborescente appelée arbre B * pour stocker la plupart des métadonnées. D'où le nom de «système de fichiers hiérarchique».L'introduction officielle de HFS + a eu lieu le 19 janvier 1998, avec MacOS 8.1. Depuis 2002, le système a mis en place une journalisation pour augmenter la fiabilité du stockage des informations. Depuis OS X 10.3, la journalisation est activée par défaut, il est désormais possible de travailler en mode sensible à la casse.Jusqu'à OS X 10.7, les développeurs continuaient d'affiner HFS + et d'implémenter de nouvelles fonctions pour OS X au niveau du système de fichiers. Mais le fait demeure: HFS a été initialement développé sur des disquettes et des disques durs en rotation, lorsque la taille des fichiers était mesurée en kilo-octets ou en mégaoctets. Aujourd'hui, beaucoup fonctionnent avec des disques SSD, qui stockent des millions de fichiers - gigaoctets ou téraoctets de données. Le système de fichiers a des exigences complètement différentes. Au lieu de finaliser l'ancien code, Apple a finalement décidé d'écrire un nouveau système de fichiers à partir de zéro.Système de fichiers APFS de nouvelle génération toujours dans l' aperçu du développeurc'est-à-dire qu'il n'est pas prévu de le déployer à grande échelle dans un avenir proche. Vous ne pouvez pas utiliser le volume APFS comme disque de démarrage pour le moment, ni l'utiliser dans le système de sauvegarde Time Machine, dans Fusion Drive ou avec le cryptage File Vault. Mais c'est possible pour un volume normal sans démarrage.Il y a encore un long raffinement et des tests, mais alors seulement APFS deviendra le principal système de fichiers d'Apple pour les décennies à venir.APFS, contrairement à HFS +, distingue initialement la casse des caractères dans les noms des fichiers et des dossiers, et cette fonction ne peut pas être désactivée. Cela doit être gardé à l'esprit par toute personne qui décide d'utiliser APFS.En principe, Apple recommande d'abord d'expérimenter APFS sur un disque externe, qui ne stocke rien d'important. Pour cela, il est proposé d'utiliser l'utilitairehdiutil .Caractéristiques clés
La documentation officielle répertorie les caractéristiques générales du système de fichiers APFS par rapport à HFS +.Conteneurs et volumes
Un conteneur est l'objet principal pour stocker des données dans APFS. Les conteneurs sont généralement exactement les mêmes que les entrées de la table de partition GUID (GPT); ils ont leur propre schéma de protection contre les pannes et d'allocation d'espace disque. Chaque conteneur contient un ou plusieurs volumes ou systèmes de fichiers, chacun ayant son propre espace de noms , c'est-à-dire un ensemble de fichiers et de répertoires.APFS ne prend pas directement en charge le RAID logiciel, mais il peut être utilisé avec les volumes RAID Apple pour prendre en charge le striping (RAID 0), la mise en miroir (RAID 1) et la concaténation (JBOD).Inodes 64 bits
Les inodes 64 bits augmentent considérablement l'espace de noms par rapport aux identificateurs 32 bits dans HFS +. Le système de fichiers APFS 64 bits prend en charge plus de 9 quintillions de fichiers sur chaque volume. Cela devrait suffire à tout le monde, comme l'a dit Bill Gates.Horodatages en nanosecondes
APFS a considérablement augmenté la précision des horodatages (horodatages). APFS prend en charge l'horodatage précis à la nanoseconde. À titre de comparaison, les horodatages HFS + ont été définis à la seconde près.Les horodatages en nanosecondes sont très importants dans les systèmes de fichiers modernes, car ils aident à implémenter l' atomicité et les transactions atomiques - l'une des principales exigences ACID pour un système de transaction (par exemple, un SGBD). Atomicity garantit qu'aucune transaction n'est partiellement validée dans le système. Soit toutes ses sous-opérations seront terminées, soit aucune ne sera terminée.Protection contre les collisions
APFS implémente un schéma de métadonnées innovant de copie sur écriture, que Apple appelle «Crash Protection». Il garantit que les modifications apportées au système de fichiers et à la journalisation sont synchronisées si quelque chose se produit pendant l'enregistrement - par exemple, une panne de courant.
Schéma de copie sur écriture ZFSFichiers épars
Un fichier avec l'attribut «clairsemé» suppose le contenu de blocs de zéro octet, non stockés sur le lecteur, mais implicites. HFS + ne prend pas en charge les fichiers clairsemés.Attributs étendus
APFS a un support intégré pour les attributs de fichier étendus, qui dans HFS + a été implémenté via le fichier Attributes, c'est-à-dire via l'arborescence B.Cryptage
Apple affirme que le chiffrement est une propriété fondamentale intégrée à APFS au niveau du système de fichiers. Pour chaque volume du conteneur APFS, l'un des modèles de chiffrement est installé: sans chiffrement, chiffrement avec une clé, chiffrement avec plusieurs clés. Dans ce dernier cas, des clés individuelles sont utilisées pour chiffrer les fichiers et les métadonnées. Selon le matériel, APFS utilise le mode de chiffrement AES-XTS ou AES-CBC.Clonage de fichiers et de répertoires
Clonage - copie presque instantanée d'un fichier ou d'un répertoire, qui ne nécessite pas d'espace supplémentaire pour le stockage des données. Lorsqu'un clone est modifié, le système de fichiers enregistre uniquement les modifications de données. Ainsi, le nouveau système de fichiers peut stocker de nombreuses versions de fichiers volumineux, consommant moins d'espace disque.Instantanés
Instantanés - "instantanés" en lecture seule du système de fichiers dans le volume. Le système d'exploitation peut utiliser des instantanés pour une procédure de sauvegarde plus efficace. Autrement dit, Time Machine fonctionnera bien (rapidement).
Bien sûr, dans ses capacités, APFS est nettement inférieur au système de fichiers ZFS 128 bits , qui est pris en charge par Linux, FreeBSD et d'autres systèmes d'exploitation gratuits, mais pour Apple, c'est un pas dans la bonne direction.Il est étrange que la documentation préliminaire ne mentionne pas la fonction de compression prise en charge par HFS +.Apple essayait depuis longtemps de porter ZFS sur OS X, il y avait une discussion active sur les listes de diffusion ZFS, des instantanés préliminaires ont été publiés pour la prochaine version d'OS X. Plus tard, OpenZFS a été implémenté pour OS X (O3X) et MacZFX .Le système de fichiers ZFS est open source et Apple pourrait bien emprunter quelques idées pour le système de fichiers APFS. L'implémentation open source pour APFS n'est pas encore prête, Apple prévoit de publier des documents et de publier le format APFS en 2017.La première session formelle se tiendra aujourd'hui à la WWDC ce soir, où les développeurs verront plus en détail les nouvelles fonctionnalités d'APFS.Source: https://habr.com/ru/post/fr395253/
All Articles