Fermer le menu
 

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

Mickaël Bazoge | | 20:49 |  187

Depuis combien de temps APFS est-il en développement ?

Si on ignore la signification exacte de cet acronyme (Apple File System certes, mais que signifie ce "P" majuscule ?), on sait en revanche quand le développement d’APFS a débuté. C'était en 2014, avec à sa tête l’ingénieur Dominic Giampaolo. Ce dernier est loin d’être un inconnu, puisqu’il a supervisé le développement du système de fichiers de BeOS… qui a bien failli être celui d’Apple si le constructeur n’avait pas jeté son dévolu sur NeXT !

BeOS 5.0.

Livrer un système de fichiers complet en l’espace de trois ou quatre ans est une gageure : comme le rappelle Adam Leventhal, ce genre de développement demande habituellement une dizaine d’années. Mais visiblement, les équipes de Giampaolo ont mis les bouchées doubles.

Quels sont les avantages d’APFS ?

Avant d'entrer dans les détails, on peut lister rapidement les principaux atouts du futur système de fichiers d’Apple. En premier lieu, il s’agit de mettre tous les utilisateurs au même niveau, qu’il s’agisse du porteur d’une Apple Watch au monteur vidéo sur son Mac Pro. Du point de vue du constructeur, c’est aussi un atout : l’uniformisation du système de fichiers pour toutes ses plateformes (macOS, iOS, watchOS, tvOS) va sans aucun doute faciliter la vie de ses ingénieurs. Surtout, ce système de fichiers a été pensé pour évoluer facilement au gré des prochains produits (qui a dit padOS ?).

Du point de vue de l’utilisateur, APFS offre de meilleures performances en termes de copie et de gestion des fichiers, un système de sauvegarde moderne que ce soit pour les documents ou les volumes, ainsi qu’une architecture de chiffrement plus souple et plus complète, notamment pour les Mac. APFS doit aussi tirer tout le jus des SSD, sans laisser sur le bas-côté les bons vieux disques durs dont bon nombre de Mac sont encore équipés.

Alors que HFS+ supporte le 32 bits, APFS est un système de fichiers 64 bits. Un volume APFS peut prendre en charge la bagatelle de 9 quintillions de fichiers (soit, retenez votre souffle, 9 000 000 000 000 000 000 de fichiers). Autre changement de taille, sans doute moins pour l’utilisateur que pour le système en lui même, les heures de création des fichiers dans APFS sont calculées à la nanoseconde près, alors qu’avec HFS+, il faut se contenter de la seconde.

Comment APFS accélère-t-il les copies de fichiers ?

Dans les principaux atouts du nouveau système de fichiers, il y a donc en premier lieu la prise en charge optimisée du stockage Flash et SSD. Il était temps, car après tout HFS a été imaginé à une époque où les disques durs à plateaux représentaient le summum de la technologie.

La copie et la sauvegarde des fichiers va en toute logique s’accélérer, et mieux encore, les documents ne prendront guère plus de place. Et pour cause : les copies réalisées sur un volume APFS ne sont tout simplement pas des copies stricto sensu des fichiers originaux. Un clone APFS ne contient que des références et des métadonnées (droit d’accès, type de fichier…) provenant du fichier d’origine.

Quand un fichier cloné est modifié, seuls les blocs qui ont été changés sont remplacés par les nouveaux. Le système de fichiers peut ainsi stocker plusieurs révisions d’un même document, sans que cela n’ait d’impact significatif sur l’espace de stockage de l’appareil.

On a déjà un avant-goût de ce type de fonctionnement avec la fonction Versions inaugurée par Mac OS X Lion, qui est une sorte de Time Machine adapté à chaque document. APFS devrait accélérer encore le traitement de cette fonction, avec une consultation des précédentes versions d’un fichier et une restauration plus rapide.

Revers de la médaille : actuellement, lorsque l’on supprime un fichier, on s’attend assez logiquement à gagner de l’espace. Avec APFS, supprimer un clone ne fera gagner qu’une poignée d’octets, ce qui risque de porter à confusion au début. Quoi qu'il en soit, un clone APFS ne prenant que très peu d’espace, il est logique que sa suppression n’en fasse pas gagner beaucoup plus.

Évidemment, copier un fichier d’un appareil à un autre (d’un Mac à un disque externe ou une clé USB) prendra plus de temps qu’une copie sur le volume APFS, et pour cause : l’opération implique de transférer l’intégralité du document, et non pas uniquement des métadonnées qui ne pèsent rien ou si peu.

Cette nouvelle manière d’enregistrer des fichiers a un autre atout, celui de préserver la longévité du SSD. Se contenter de copier des métadonnées plutôt que des fichiers au complet réduit la fragmentation, et pour cause : le volume d’opérations d’écriture est limité.

À l’instar de HFS+, APFS assure la prise en charge du TRIM, qui limite l’usure et surtout la perte de performances des SSD (lire : Commande TRIM : le meilleur ami du SSD).

Si APFS a été imaginé d’abord et avant tout pour les SSD, les disques durs à plateaux ne sont pas pour autant laissés sur le bord de la route — aussi étonnant que cela puisse paraître, Apple vend encore et toujours des Mac avec ce type de stockage… Le système de fichiers va aussi apporter ses bienfaits à ces disques traditionnels, en choisissant finement les endroits où stocker les métadonnées des fichiers.

Snapshot : comment APFS gère-t-il la sauvegarde de volumes ?

APFS ne se contente pas d’accélérer la copie de fichiers : le système sait aussi créer des « instantanés » (snapshots) d’un volume APFS. Le processus est là aussi quasiment immédiat. macOS peut exploiter ces snapshots pour créer rapidement des sauvegardes à la volée d’un volume très facilement et sans grever les performances.

Ces instantanés sont en lecture seule : si on ajoute un document ou un fichier dans le volume d’origine, celui-ci n’apparaîtra pas dans le dernier snapshot. L’intérêt de l’opération est d’accélérer les opérations de restauration, une sorte de ⌘Z à l’échelle d’un volume.

Tout comme les Versions de Lion sont, en quelque sorte, les ancêtres des clones APFS, Time Machine semble précéder ces instantanés… à l’exception des liens matériels utilisés par le système de sauvegarde incrémentale actuel. C’est aussi ce qui explique pourquoi Time Machine n’est pas encore compatible avec APFS ; dans les coulisses de Cupertino, on a dû faire chauffer la matière grise pour adosser ces deux fonctions et pour le moment, on ignore comment tout cela va s’interfacer.

Space Sharing : comment APFS s’y prend-il pour stocker et gérer les volumes ?

APFS inaugure un nouveau système de partage d’espaces de stockage. Space Sharing veut remiser les partitions dans le placard aux vieilleries. Le système de fichiers intègre les volumes dans un container. Il est possible d’ajouter ou de retirer des gigaoctets dans chaque volume, le conteneur ajustant dynamiquement l’espace disponible.

Si vous avez un disque APFS de 1 To et que vous avez créé plusieurs volumes à l’intérieur, le Finder affichera une capacité de 1 To pour chaque volume. Autrement dit, l’espace disponible pour chacun de ces volumes reflète la capacité totale du conteneur, pas du volume individuel.

Et lorsque vous demanderez combien il reste d'espace libre sur votre Mac, macOS indiquera le volume restant du conteneur. Cela pourra provoquer une certaine confusion pour l’utilisateur, mais cette manière de faire permettra aussi à macOS Sierra d’afficher beaucoup plus rapidement l’espace disponible dans le système.

Fast Directory Sizing : comment APFS calcule-t-il plus rapidement le poids d’un fichier ?

Le nouveau système de fichiers améliore drastiquement le calcul du poids d’un fichier, d’un dossier, d’un volume ou d’un container. Actuellement, après un ⌘I, il faut patienter quelques secondes avant d’obtenir cette information (et parfois plus selon le nombre de documents contenus dans un dossier).

APFS inaugure la fonction Fast Directory Sizing qui calcule rapidement le poids total utilisé par les fichiers d’un dossier, en conservant et en calculant ce poids en dehors du dossier d’origine.

Catégories: 
Tags : 

Les derniers dossiers

Ailleurs sur le Web


187 Commentaires Signaler un abus dans les commentaires

avatar reborn 28/06/2016 - 20:12 (edité)

l’idéal serait qu'icloud adopte aussi ce système de fichier. De cette manière un volume icloud pourrait apparaître dans le finder au même titre d'un disque local.

Ceux qui voulaient de l'innovation sont (enfin ?) servi !

avatar Mickaël Bazoge macG 28/06/2016 - 20:14

En tout cas, il y a quelque chose qui se prépare avec iCloud Drive, avec Sierra on peut y stocker tous les documents de son Mac.

avatar reborn 28/06/2016 - 20:29

ce qui me rebute actuellement avec ces services de cloud synchronisé c'est que sur iOS il est nécessaire de télécharger le fichier sur l'appareil, y apporter la modification que l'on souhaire y apporter, puis ré-uploader le fichier..

Donc oui si le futur iOS est capable de parcourir un icloud equipé de APFS je dis oui. Cela permettra d’éditer des fichiers sans les télécharger :)



avatar C1rc3@0rc 29/06/2016 - 11:17

@reborn

APFS ne changera rien de ce coté car meme dans le cas d'un pur netcomputer classique, il y a mise en cache du fichier sur lequel on travaille, donc il y aura toujours upload/download au moins en partie du fichier.

De plus le systeme de gestion de fichier (FS) gère les données sur le support a un bas niveau (en dessous de l'OS). Les fonctions de haut niveau se trouve dans l'OS. Donc en fait ni l'utilisateur ni meme la majorité des développeurs ne verront APFS, ils passeront par les applications et les API de l'OS.

Il faut savoir par exemple qu'un des FS les plus avancés au niveau commercial était celui de BeOS qui était basé sur une base de données relationnelle et était capable de gérer nativement la programmation par objet au niveau du FS (BFS).
De son coté NeXTStep lui masquait la différence entre volume réseau et disque interne, mais il reposait sur le vénérable UFS des Unix...

APFS va reprendre des caractéristiques de ZFS et d'EXT3 de Linux, mais cela ne va rien changer pour l'utilisateur. Par contre le fait qu'il soit conçu pour le SSD est inquiétant pour les performances des fichiers stockés sur disque mécaniques: quand on voit la dégradation des performances de MacOS depuis Yosemite sur les disques durs cela pose de sérieuses questions.

«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.»
Cette keynote était une honte et son inutilité et sa dissociation des attentes publiques resteront remarquables dans l'histoire d'Apple.

Bon, le nouveau FS n'est pas l'objet d'annonces principale meme pour les développeurs. Ceci dit une annonce minimale au keynote aurait été bienvenue et plus adaptée.

avatar byte_order 29/06/2016 - 08:37

> Il faut savoir par exemple qu'un des FS les plus avancé au niveau commercial était
> celui de BeOS qui était basé sur une base de données relationnelle

Initialement. L'architecture hybride FS + base de données a été ensuite fusionné dans un FS intégrant nativement des indexes sur des metadatas, maintenus automatiquement .

> et était
> capable de gérer nativement la programmation par objet au niveau du FS (BFS).

Euh, pas sur de comprendre de quoi vous parlez ici...
Que l"API était/est (Haiku-OS) en C++ ?

avatar frankm 29/06/2016 - 09:22

if (grand_public == keynote_followers) {
keynote ("iMessage and emojis")
}
else {
keynote ("APFS")
}

avatar fte 29/06/2016 - 10:04 (edité)

Un FS est très similaire à un protocole réseau, c'est une pile de couches fonctionnelles, chacune ayant une tâche bien spécifique à remplir. Les couches basses d'un FS sont de bas niveau, celles chargées de gérer le block storage, les couches hautes sont des couches applicatives pas du tout de bas niveau.

BeFS n'est pas le file system le plus avancé. Il ne l'a jamais été. Il a peut-être été le plus original, d'une certaine façon. Gérer nativement la programmation par objet ne veut rien dire. Éventuellement on pourrait dire ça en parlant d'une machine virtuelle ou d'un runtime, mais d'un FS, certes pas.

Quant à NeXTSTEP, il ne masquait pas la différence entre un volume local ou réseau. C'est VFS, la pile de stockage d'UNIX qui remonte au moins à 1985 je crois, pour SunOS et ensuite repris par tous les UNIX, dont NeXTSTEP quelques années plus tard, basé sur BSD btw.

Pour finir, APFS a été plus que minimalement annoncé. Il y a eu une session dédiée et il en a été fait mention dans plusieurs sessions parlant d'IO et de sécurité, et il est disponible dans Sierra pour les développeurs.

Bref. Pourrais-tu vérifier ce que tu avances avant de balancer toutes les pensées aléatoires qui te traversent l'esprit ? A part l'avis personnel sur la keynote, que je partage en partie, tout le reste est à côté de la plaque.

avatar C1rc3@0rc 29/06/2016 - 11:10

@fte
«BeFS n'est pas le file system le plus avancé. Il ne l'a jamais été»

Et quel était le FS le plus avancé sur PC a cette époque alors ?

«Quant à NeXTSTEP, il ne masquait pas la différence entre un volume local ou réseau.»
Ben si, l'utilisateur ne voyait pas de différence entre un volume réseau et un disque local.

«Pour finir, APFS a été plus que minimalement annoncé.»
Aucune communication lors de la keynote!

«Bref. Pourrais-tu vérifier ce que tu avances avant de balancer toutes les pensées aléatoires qui te traversent l'esprit ?»
Pourrais tu répondre a ce qui est écrit plutôt que balancer toutes tes interprétations approximative qui viennent d'une lecture en diagonale.

avatar fte 29/06/2016 - 15:00

"Et quel était le FS le plus avancé sur PC a cette époque alors ?"

Si on écarte les machins expérimentaux, académiques ou restés confidentiels comme par exemple le remarquable Coda de Carnegie...

Milieu des années 90 ? Je dirais XFS. Il avait la journalisation, des B+Tree, les accès en parallèle, une extension de clustering CXFS sauf erreur, les extended attributes, il gagnait pratiquement toutes les comparaisons de performance, rock solid, et c'est peut-être, hors mainframes, le FS qui stockait le plus de TB à cette époque préhistorique.

"Aucune communication lors de la keynote!"

Et alors ? Il n'ont pas non plus annoncé que les messages du répondeur passaient par la reconnaissance vocale et pouvaient être lus, que LLVM supportait maintenant thread-local, que libc++ était conforme C++14... La WWDC ne s'arrête pas au keynote. La conférence commence après le keynote.

Je suis obligé de lire en diagonale. Tu écris en diagonale.

avatar BigMonster 29/06/2016 - 16:49

@ fte

[…LLVM supporte maintenant thread-local…]

Sérieux ? Je croyais qu'il était mort !
On pense de lui ce qu'on veut, mais on ne pouvait quand même pas lui souhaiter ça…

(je suis le petit point, là-bas, sur l'horizon…)

avatar C1rc3@0rc 30/06/2016 - 00:09 (edité)

«Je suis obligé de lire en diagonale. Tu écris en diagonale.»

Evidement...

«Si on écarte les machins expérimentaux, académiques ou restés confidentiels comme par exemple le remarquable Coda de Carnegie...
Milieu des années 90 ? Je dirais XFS.»

Moais XFS, le FS des stations de travail de Silicon Graphics et en 1993 la difference de puissance entre une station de travail et un PC c'etait un peu plus qu'aujourd'hui.

Et ma critique de la keynote ne concerne pas le manque de communication sur des techno cryptiques.

Dire ok, on travaille dur sur le Mac pour en faire le meilleur PC des prochaines annees, on va lui donner un nouveau systeme de fichiers securisé et chiffré, on va le rendre plus performant au niveau graphique, on va passer l'architecture sur ARM, on ameliore Xcode pour produire mieux et de manière plus sécurisé des applications universelles et optimisées! On a plein de choses pour rendre l'iPad encore meilleur pour l'entreprise, l'éducation, et les particuliers, par exemple, oui, l'interface de gestion des sessions,etc

Y a un juste milieu entre balancer de l'info hyper technique comme LLVM supporte maintenant thread-local, ce qui parle a personne et faire dire a Federighi pendant 1 heure: oui on a des emoji plus gros!

Cette keynote était cruciale sur l'avenir d'Apple, autant pour les particuliers que l'entreprise, les financiers, et les développeurs.
Quel est le message de la keynote: on rattrape Google et les développeurs tiers en leur piquant leurs idées, on parle pas de l'iPad, on parle pas de matériel, on parle pas de sécurité, on parle pas de performances (enfin si pour la tocante ce qui n'intéresse personne)... ça rassure qui, ça donne envie de developper pour Mac ou d'acheter un Mac: non!

avatar byte_order 30/06/2016 - 11:34

> Milieu des années 90 ? Je dirais XFS. Il avait la journalisation, des B+Tree,
> les accès en parallèle, une extension de clustering CXFS sauf erreur,
> les extended attributes, il gagnait pratiquement toutes les
> comparaisons de performance, rock solid,
> et c'est peut-être, hors mainframes, le FS qui stockait le plus de TB
> à cette époque préhistorique.

Le plus avancé à l'époque, sans conteste.
Mais il n'était pas aussi performant que ça dans tous les usages.
En particulier pour l'allocation rapide de plein de petits fichiers, il était battu assez nettement par ext2.

XFS a été conçu pour les besoins des stations SGI : des accès sûres, concurrents et rapides à des fichiers de très grosses tailles.

BeOS visant à l'époque le marché du multimedia aussi, bon nombre des concepts de XFS ont été repris dans BFS : 64bits, B+tree, extents, journal, accès concurrents sur les i-nodes, attributs. Malheureusement, l'absence de cache disque dans BeOS a complètement plombé les benchmarks de l'époque (sauf en accès sur des gros fichiers où là c'était similaire à XFS), et l'indexation automatique de certains attributs n'aidant pas non plus. L'ajout d'un cache disque dans Haiku-OS a corrigé depuis le plus gros problème, d'ailleurs.

Reste que les stations SGI c'est pas exactement ce que l'on peut appeler des ordinateurs personnels au sens propre du terme.
C'est bien dommage que XFS n'a pas connu une plus grande audience, cependant. Il a clairement montré la voie, pourtant.

avatar BigMonster 29/06/2016 - 10:29

@C1rc3@0rc

[…Par contre le fait qu'il soit conçu pour le SSD est inquiétant pour les performances des fichiers stockés sur disque mécaniques…]

À mon avis, un système de fichiers est quelque chose qui va devoir être utilisé sur le long terme. Et je pense que dans dix ans, les disques durs mécaniques auront tout simplement disparu.

avatar byte_order 29/06/2016 - 11:46

probable que dans 10 ans les contraintes de devoir gerer le trim des ssd auront elles aussi disparues.

avatar C1rc3@0rc 30/06/2016 - 00:12 (edité)

Probable que dans 10 ans on ne parle meme plus de SSD. C'est quand meme une techno batarde, bourrée de problèmes et qui a une espérance de vie courte au niveau des support de données...

Axer un FS sur le SSD c'est pas pertinent.

Par contre les disques durs, ils risquent d'etre eux encore la dans 10 ans, comme les bande magnetiques...

avatar byte_order 30/06/2016 - 11:47

De nos jours, un bon FS doit pouvoir séparer sa politique d'allocation physique de son organisation logique, j'aurais tendance à dire.

Il est en effet probable que les supports de stockage extrêmement performants de l'avenir ne remettront pas à la retraite le stockage magnétique dont le coût continuera d'être fatalement très compétitif, mais les performances d'accès totalement dépassées.

Ce n'est pas bien grave de toute façon, il m'apparait peu probable que APFS devienne d'ici 10 ans le FS le plus utilisé sur toutes les plateformes. Sur les plateformes d'Apple, oui. Sur les autres, j'en doute fortement.

avatar frankm 29/06/2016 - 09:16

Il se prépare l'ultime convergence : appleOS for iPhone, iPad, Mac et watch

avatar C1rc3@0rc 30/06/2016 - 00:15

Moais, on va avoir un truc nommé Macbook watch, a interface tactile et un ecran de 6" qui se portera sur le poignet, mettra une plombe a lancer des app, ne servira a rien, mais sera vendu une fortune en bijouterie Tati.

OS X: l'unix le plus avancé au monde...
Amertune, amertume.

avatar iGeek07 28/06/2016 - 21:09 via iGeneration pour iOS

@reborn :
Je crois que vous n'avez pas très bien compris ce qu'est un système de fichiers. Qu'iCloud utilise HFS ou plus certainement ext4 (vu qu'iCloud doit tourner sur des serveurs Linux et non des Mac…) ou APFS, ça ne change rien pour "apparaître dans le Finder"…

avatar reborn 28/06/2016 - 21:15 (edité)

j'ai mal exprimé mon souhait. Peut être qu'Apple attend ce nouveau système de fichier pour proposer une bien meilleur expérience d'icloud. Après oui je n'y comprend pas plus que ça

avatar C1rc3@0rc 30/06/2016 - 00:26 (edité)

Non Apple n'attend pas un nouveau FS pour améliorer iCloud.
Ce que je disais précédemment c'est que le NeXT utilisait un systeme de fichier tres classique et pourtant cette machine révolutionnait l'interface en masquant la différence entre un volume local (disque dur) et un volume réseau.
C'est une question d'ergonomie et d'interface graphique pas de technologie.

Apple veut essayer de faire du cloud, mais iCloud c'est juste un systeme de synchro et les compétences d'Apple s'arrête la. Apple ne sait pas faire de netcomputer, n'est pas Oracle et c'est meme l'inverse: l'ADN d'Apple c'est de faire des machines individuelles puissantes et accessibles.
Faut revoir l'interview de Julia dans On refait le Mac, c'est édifiant de simplicité et de bon sens.

Apple a un metier: produire des machines informatiques personnelles et individuelles. Sa caracteristique c'etait l'ergonomie, la simplicité d'utilisation et la qualité.
Aujourd'hui on a le sentiment qu'il y a un logo Apple, mais plus rien derriere: l'innovation ce sont Google, les developpeurs independant, Linux et Microsoft qui la produisent.
L'ergonomie est abandonnée au profit d'une apparence des plus discutable.
Le travail d'ingénierie est pourri par des choix marketing pour augmenter toujours plus les marges.
La direction d'Apple se concentre sur les resultat financiers avant la production materielle et logicielle.

avatar bompi 28/06/2016 - 21:25

Le système de fichiers utilisé par iCloud est "transparent". Pour nous, ce qui compte est la manière de s'y connecter, c'est à dire les protocoles réseau [les méthodes standards, disons] qu'on utilise.

Un peu comme peu importe quel est le type d'un serveur Web (Apache, IIS, WAS, etc.), du moment qu'il parle correctement le protocole du Web (HTTP/s).

avatar fte 24/01/2017 - 21:29 via iGeneration pour iOS

@reborn

Le cloud gère le stockage complètement différemment. Aucun rapport.

Quant à de l'innovation, APFS n'apporte rien qui n'existe pas en production depuis au moins une décennie.

C'est juste un système de fichier moderne à peu près au niveau de plusieurs autres FS modernes déjà en production, pour remplacer le vieux et vénérable HFS+ de 20 ans.

avatar XiliX 25/01/2017 - 16:35

@fte

"C'est juste un système de fichier moderne à peu près au niveau de plusieurs autres FS modernes déjà en production, pour remplacer le vieux et vénérable HFS+ de 20 ans."

HAH ??? lesquels ? NTFS ? ext ?
Même par rapport à ZFS, APFS est juste "très" différent

avatar fte 25/01/2017 - 21:56

Tu n'as rien trouvé de mieux comme comparaison que des FS eux-mêmes vieux de plus de 20 ans ? Enfin, je suppose que tu aurais pu proposer FAT ou ADFS. Ça aurait pu être pire, DECtape par exemple.

Pages