Fermer le menu
 

APFS : le futur système de fichiers d’Apple qui va changer votre vie

Mickaël Bazoge | | 20:49 |  187

Edit : cet article a été rédigé peu après la WWDC de juin 2016. Nous le remontons dans le flux car Apple a posé les premiers jalons d'APFS dans la première bêta d'iOS 10.3.

C’est un peu malheureux, mais lors du keynote de la WWDC, Apple a passé plus de temps à annoncer que les émojis de Messages seront trois fois plus gros dans iOS 10 qu’à faire l’article d’APFS. D’ailleurs, le nouveau système de fichiers qui sera au cœur de macOS, iOS, watchOS et tvOS n’a tout simplement bénéficié d’aucune annonce durant la conférence !

Eric Tamura et Dominic Giampaolo ont eu l’honneur de présenter APFS aux développeurs présents à la WWDC.

On peut le regretter, même si un système de fichiers est évidemment moins sexy que des émojis et d’autres fonctions flashy (lire : Keynote : des emojis, mais pas de système de fichiers). Mais APFS a ensuite fait l’objet d’une présentation en profondeur lors d'une session dédiée, et on peut retrouver sur le Dev Center une documentation qui dresse les grandes lignes de cette nouveauté majeure.

Durant la WWDC, Apple a également invité les développeurs présents à participer à des séances de questions/réponses avec les ingénieurs qui ont mis au point APFS. Adam Leventhal a participé à cette session et il en a livré un récit aussi complet que possible sur son blog. Nous avons puisé dans ces observations ainsi que dans les docs d’Apple pour faire le point sur ce système de fichiers qui devrait assurément bousculer les habitudes.

Qu’est-ce qu’un système de fichiers ?

Un système de fichiers est une des briques de base d’un système d’exploitation. C’est ce qui permet à l’OS de stocker et d’organiser les données dans des supports de stockage internes et externes. Conservées dans des suites de blocs dont le contenu est lié au format des fichiers (caractères, adresses mémoires, etc.), les informations peuvent ensuite être exploitées par les applications.

À l’intérieur du MacBook 12’’ Retina (image iFixit).

Sans système de fichiers, l’information serait placée en vrac dans un espace de stockage dans lequel il serait impossible de dire où commence et où s’arrête telle ou telle donnée. Avec des capacités de stockage toujours plus importantes, il a fallu adapter les systèmes de fichiers pour qu’ils se montrent plus efficaces.

Toute cette machinerie est invisible pour l’utilisateur, qui s’attend à retrouver ses dossiers et ses documents aux endroits où il les a laissés, le tout présenté d’une manière cohérente et hiérarchique.

Quels sont les systèmes de fichiers utilisés par Apple ?

Sans remonter aux temps immémoriaux de DOS 3.x (également connu sous le sobriquet Apple DOS) de l’Apple II, le constructeur place MFS (Macintosh File System) au cœur du premier Macintosh. Il a rapidement été remplacé par HFS (Hierarchical File System) en septembre 1985. Il s’agit alors de prendre en charge le premier disque dur (20 Mo) que le constructeur a conçu pour son Mac, alors que MFS n’était optimisé que pour les lentes disquettes de petites capacités de l’époque.

En 1998, Apple lance le successeur de HFS avec Mac OS 8.1, HFS Plus. Cette version améliorée de HFS supporte des adresses 32 bits au lieu des 16 bits de son prédécesseur, et elle utilise Unicode en replacement de Mac OS Roman pour nommer les fichiers et documents.

Avec Mac OS X 10.3, Apple met à jour HFS Plus en y apportant la sensibilité à la casse, mais de nombreux logiciels ne sont pas compatibles et sont susceptibles de planter. Durant ses 18 ans d’existence, HFS+ a évidemment été adapté aux besoins d’Apple, et s’il continue de rendre bien des services, le système de fichiers accuse depuis trop longtemps le poids des années. « HFS+ est certainement le pire système de fichiers jamais créé. Dieu que c'est de la merde ». Ainsi Linus Torvalds, créateur de Linux, qualifie-t-il le système de fichiers d'OS X dans sa langue fleurie.

On a un temps imaginé qu’Apple allait le remplacer par ZFS (Zettabyte File System). Les capacités de ce système de fichiers 128 bits développé par Sun Microsystems pour Solaris 10 sont tellement importantes qu’il faudrait faire « bouillir les océans » pour remplir un espace de données 128 bits, d’après son créateur Jeff Bonwick !

La prise en charge de ZFS annoncée sur le site d'Apple.

En décembre 2006, une bêta de Mac OS X 10.5 affiche une prise en charge très préliminaire de ZFS, une présence suivie par une annonce fracassante de Sun Microsystems : ZFS deviendra bien le système de fichiers par défaut du Leopard ! Las, après avoir joué au chat et à la souris dans les bêtas suivantes, ZFS n’est plus proposé que dans Snow Leopard Server et encore, en lecture seule (lire : La saga ZFS n'en finit plus).

Pourquoi Apple a-t-elle ainsi joué avec les nerfs de ceux qui attendaient fébrilement un système de fichiers moderne ? Des problèmes de licence ont grippé la machine, et on a appris tout récemment via Ars Technica que des problèmes d’égo sont aussi rentrés en ligne de compte. Apple n’aime rien tant que les choses développées en interne, et plusieurs cadres de l’entreprise préféraient bâtir leur propre solution plutôt que d’en adopter une conçue à l’extérieur — même si cette technologie était la meilleure à l’époque.

De plus, ZFS a été imaginé d’abord et avant tout pour les serveurs, pas pour les ordinateurs de monsieur tout le monde, et encore moins pour des appareils mobiles. Or, à cette époque, Apple était en plein développement de l’iPhone premier du nom. Les équipes en charge de la conception d’iOS ont créé une déclinaison d’HFS si secrètement que leurs homologues d’OS X n’en ont d’ailleurs rien su…

Catégories: 
Tags : 

Les derniers dossiers

Ailleurs sur le Web


187 Commentaires Signaler un abus dans les commentaires

avatar pierreBx 28/06/2016 - 20:39 via iGeneration pour iOS

Un trillion de fichiers, pas un quintillion.
C'est suffisant !

avatar jerome74 29/06/2016 - 08:41

Oui c'est agaçant ces traductions érronnées! Au delà du million, les noms anglais et français n'ont pas du tout du tout la même valeur! Un quintillion français vaut... mille milliards de quintillions anglosaxons!!! https://fr.wikipedia.org/wiki/Échelles_longue_et_courte

avatar reborn 28/06/2016 - 20:49

encore une fois voila la preuve qu'Apple innove lorsque c'est nécessaire pour y améliorer l’expérience d'utilisation.

A coté de ça l'on a microsoft qui intègre par défaut candy crush dans windows 10..



avatar cloudy 28/06/2016 - 20:59

Sur le sujet des FS Apple étaient franchement à la bourre surtout. Regarde le niveau de features proposés sur Linux par exemple. Et ca date pas d'hier ce retard ...

avatar reborn 28/06/2016 - 21:11

Linux est un projet open source et donc très flexible pour l'introduction de nouvelle features. Cet Apple filesytem va apporter beaucoup à l'utilisateur final en terme de features et de possibilité non encore évoqué par Apple.

Apple le présente humblement comme a next generation filesystem, Jobs n'aurait pas hésité a vendre ça comme a revolutionary filesystem à la conf d'ouverture de la wwdc et là tout les nostalgiques du forum se seraient pris d'un "geekorgasme" ...

Bref 2017 va vraiment être une grosse année pour Apple.

avatar C1rc3@0rc 29/06/2016 - 02:05

@cloudy
Non
HFS+ fait bien son travail et l'OS avait ete augmenté avec des API de gestion etendue qui compensent ce que Linux peut faire au niveau de FS.

Ce qui manque a HFS+ par rapport a EXT4 c'est le chiffrement natif. APFS ne va pas apporter grand chose pour l'utilisateur qui ne le verra jamais et de toute facon, meme sur Linux on utilise des container de chiffrement et on ne fait jamais confiance a EXT4 pour cela.

Je me repete, mais ce qui va poser probleme et qu'il va falloir bien surveiller c'est l'efficacité au niveau des disques mecanique et de la copie entre volumes (physique ou virtuel), parce que le SSD proprietaire c'est bien mais les gros volumes de stockages( archivage, backup, base de donnée, gestion documentaires,...) c'est sur disques mecaniques et installer un clone d'un disque pour recuperer une machine crashée c'est encore ce qu'il y a de plus efficace… et la APFS semble mauvais.

La journalisation existe dans HFS+ de meme que la gestion de la fragmentation qui est deja efficace.
APFS va ameliorer le versionning et la gestion d'alias - interne - , mais globalement ce sont des fonctions qui sont gerées au niveau de l'OS, pas la peine de les integrer dans le FS, sauf pour ce qui concerne les serveurs...
La seule grosse avancée c'est Fast Directory Sizing, mais bon avoir une DB en plus de la table d'adressage ça fait pareil et pas la peine de l'avoir dans le FS.

@reborn
«Bref 2017 va vraiment être une grosse année pour Apple»

On disait cela pour 2012,2013,2014,2015,2016... résultat: flat design, perte d'ergonomie, pertes de performance, une tocante et un netbook...

avatar patrick86 29/06/2016 - 09:06

"c'est sur disques mecaniques et installer un clone d'un disque pour recuperer une machine crashée c'est encore ce qu'il y a de plus efficace… et la APFS semble mauvais."

Ce n'est pas ce que dit l'article, qui parle autre contraire d'améliorations également pour les disques mécaniques.

Mais pour l'heure, la seule attitude sage consiste à attendre de pouvoir tester concrètement la chose.

avatar BeePotato 29/06/2016 - 10:15

@ C1rc3@0rc : « sur disques mecaniques et installer un clone d'un disque pour recuperer une machine crashée c'est encore ce qu'il y a de plus efficace… et la APFS semble mauvais. »

Cette affirmation repose évidemment sur des sources autres que ton imagination, n’est-ce pas ? ;-)
Dans ce cas, on apprécierait une citation de ces sources, merci.

« APFS va ameliorer […] la gestion d'alias - interne - »

?? C’est-à-dire ?

« mais globalement ce sont des fonctions qui sont gerées au niveau de l'OS, pas la peine de les integrer dans le FS »

La gestion de versions est bel et bien une fonction de l’OS. En revanche, la possibilité de créer des clones à très faible coût, qui permet d’avoir une gestion de versions plus efficace, est bien une fonction qui dépend du système de fichiers. Sa place est donc bien dans APFS.

« La seule grosse avancée c'est Fast Directory Sizing, mais bon avoir une DB en plus de la table d'adressage ça fait pareil et pas la peine de l'avoir dans le FS. »

Non, ça ne fait pas pareil, dans le cas d’un disque qui passe d’une machine à une autre. Les couches supplémentaires gérées par l’OS ne sont pas forcément mises à jour par les OS des diverses machines où se trouve utilisé le disque — on peut le voir notamment avec l’indexation pour Spotlight. Que le fast directory sizing fasse partie des spécifications du FS, ça impose aux OS implémentant ce dernier de maintenir à jour les données correspondantes.

avatar byte_order 29/06/2016 - 12:07

> HFS+ fait bien son travail et l'OS avait ete augmenté avec des API de gestion
> etendue qui compensent ce que Linux peut faire au niveau de FS.

Elles ne compensent pas :
- la sérialisation de tout accès au catalogue, unique, qui impacte terriblement les accès concurrents, que ce soit par plusieurs processus ou même par plusieurs threads d'un seul et même processus
- le byte swapping permanent de toutes les structures interne de HFS+ en écriture comme en lecture, parce que le byte order (pas moi, hein, celui de HFS+) est rigide et est resté au big endian historique du PowerPC...

En pratique, n'importe quel usage assez intensif d'un volume HFS+ montre ces limites, malgré les "surcouches" de "compensation".

avatar mat 1696 28/06/2016 - 22:32 via iGeneration pour iOS

@reborn :
ahahah 1. Plus qu'à sortir de super Mac, à config musclée, et tarif "abordable" (dans le sens bon rapport qualité/prix) et ce sera parfait (et les ventes de Mac vont décoller)!!

avatar byte_order 29/06/2016 - 11:58

En même temps Windows 10 n'a pas vraiment besoin de changer son système de fichiers qui, contrairement à HFS+, tient encore très bien la route sur les différents usages qu'on peut vouloir faire de lui, autant en temps que desktop que serveur.

#jdcjdr

avatar fte 29/06/2016 - 13:11 via iGeneration pour iOS

@byte_order :
NTFS a des faiblesses similaires à HFS . Microsoft travaille à son successeur depuis pas mal d'années maintenant, ReFS, dispo sur Windows Server depuis un moment. Avec le même genre de features par ailleurs, ce qui n'a rien de surprenant vu que c'est plus ou moins le standard moderne.

avatar byte_order 29/06/2016 - 17:51

... plus ou moins l'état de l'art actuel.

Le "standard" actuel, ce sont des systèmes de fichiers conçus y'a 10 à 20 ans, avec des fonctionnalités basiques.

NTFS n'est plus très modernes en effet, mais il dispose quand même de quelques fonctionnalités et concepts nettement plus avancés que ce que permet HFS+. L'accès concurrent au catalogue est prévu, les spare files supportés, la compression également.
Oui, lui aussi à vielli, mais HFS+ est encore plus vieux et sous assistance depuis trop longtemps, vraiment.

avatar BeePotato 29/06/2016 - 18:00 (edité)

@ byte_order : « Oui, lui aussi à vielli, mais HFS+ est encore plus vieux et sous assistance depuis trop longtemps, vraiment. »

En effet, d’où APFS.
Notons cependant que, dans les fonctionnalités listées, il y en a une qui a été ajoutée à HFS+ il y a plusieurs années : la compression.

avatar byte_order 30/06/2016 - 16:20

Ce n'est pas HFS+ qui s'en charge, elle n'est donc pas transparente ni une fonctionnalité du système de fichier lui même.

avatar BeePotato 30/06/2016 - 17:20

@ byte_order : « Ce n'est pas HFS+ qui s'en charge »

Ah, fichtre ! C’est qui, alors ?

« elle n'est donc pas transparente »

En quoi n’est-elle pas transparente ?
Les outils dédiés à HFS+ permettent de voir si un fichier est compressé ou pas, ce qui est bien normal.
Les outils travaillant à un niveau plus élevé n’en voient rien. Je n’ai jamais rencontré de souci de transparence avec cette fonction, donc je suis bien curieux de savoir à quoi cette remarque fait référence.

« ni une fonctionnalité du système de fichier lui même. »

Je crois bien que si, pourtant. :-)
Même si, pour bien faire, il aurait fallu lui changer son nom ou lui ajouter un numéro de version, puisque l’ajout de cette fonction en a fait un système de fichiers différent et incompatible avec les versions précédentes (c’est d’ailleurs ce qui a poussé Apple à ne pas appliquer de compression aux données des utilisateurs).

avatar occam 28/06/2016 - 21:01

Super papier, Mickaël.
Et la dernière question-réponse mérite le Buster Keaton Deadpan Award.

Vous avez même réussi à racheter le péché d'omission de Macgé lors du récent sondage sur « La nouveauté de macOS Sierra qui vous plait le plus », où APFS n'était même pas cité.

avatar LordJizzus 28/06/2016 - 21:01 via iGeneration pour iOS

Apple n'innove plus... Mon cul !

"Ouais mais Samsung ils font des écrans arrondis sur les bords et gna gna gna".

avatar flambi 28/06/2016 - 21:03 via iGeneration pour iOS

P comme Protection (plus sécurisé) ?

avatar MacTHEgenius 30/06/2016 - 09:49 via iGeneration pour iOS

@flambi :
Apple Protected File System ? Ça sonne plutôt bien, bien trouvé ;)

avatar DarthVader 28/06/2016 - 21:11 via iGeneration pour iOS

Ext4 ou ZFS quant à moi désormais

avatar BeePotato 29/06/2016 - 10:16

@ DarthVader : « Ext4 ou ZFS quant à moi désormais »

Pas très pratique avec Mac OS.

avatar iTruc 28/06/2016 - 21:17 (edité)

« APFS : le futur système de fichiers d’Apple qui va changer votre vie » ou pas. Me tourne plutôt du côté de btrfs.

avatar sachouba 28/06/2016 - 21:24

Cet article est très (très) intéressant, bravo !

C'est aussi intéressant de voir Apple innover, ça faisait un moment que ça ne s'était plus vu.

avatar qlb212 28/06/2016 - 21:27 (edité)

"Si on ignore la signification exacte de cet acronyme (Apple File System certes, mais que signifie ce "P" majuscule ?)"

Ce choix me paraît assez simple : "AFS" était déjà pris (https://fr.wikipedia.org/wiki/Andrew_File_System).

Pages