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

Mickaël Bazoge |

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…

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.

Comment APFS protège-t-il les données des yeux indiscrets ?

Pour HFS+, Apple a mis au point CoreStorage, qui permet un chiffrement complet du Mac avec une seule clé. Pour iOS, le constructeur utilise une variante de HFS+ qui prend en charge un système de clés par fichiers en lien avec le moteur matériel AES (Advanced Encryption Standard ou standard de chiffrement avancé).

Schéma de l’architecture de sécurité d’iOS.

APFS revoit ces fondations de fond en comble, avec plusieurs niveaux de chiffrement :

  • Pas de chiffrement ;
  • une clé par volume (l’équivalent de ce qui existe actuellement sur OS X) ;
  • chiffrement par clés multiples : pour les métadonnées, pour les fichiers, et pour les « sections » (extents) de fichiers générées par les snapshots et les clones.

En clair, avec APFS, il est possible de chiffrer non seulement les métadonnées d’un fichier, mais aussi le fichier en lui-même, le tout séparément. Un utilitaire de gestion de fichiers peut ainsi déchiffrer les métadonnées d’un fichier (nom, date de création, etc.), mais pas le contenu du fichier, tout dépendant de l’accès donné au logiciel par l’utilisateur.

Comment APFS va-t-il assurer l’intégrité des données ?

Protéger l’intégrité des données, c’est le premier travail d’un système de fichiers. Comme l’explique Adam Leventhal, un tel système doit répondre à cette problématique simple : « Voici mes données, ne les perds pas, ne les modifie pas ». La philosophie d’APFS en matière de redondance des données — pour faire simple, la copie d’un fichier afin de le protéger d’une erreur système ou d’un bug — est bien différente d’avec HFS+ : les copies réalisées depuis le système de fichiers n’en sont pas.

Les copies de fichiers réalisées avec APFS ne sont que des fichiers de métadonnées qui n’embarquent pas les données elles-mêmes. La corruption du disque APFS entraînera des dommages pour tous les fichiers stockées, aussi bien les documents d’origine que leurs copies. C’est là que les snapshots conservés sur d’autres volumes ou d’autres disques sauront se montrer utiles.

La gestion des checksums, ces « résumés » de métadonnées utilisés pour détecter et corriger des erreurs, est aussi bien particulière. APFS tient à jour un checksum de ses propres métadonnées, mais pas des données de l’utilisateur. Apple explique que les mesures de protection ECC, qui vérifient le bon fonctionnement des stockages intégrés dans les produits du constructeur, seront suffisantes pour éviter les problèmes (mais quid des disques SSD ajoutés « à la main » ?).

Chez Apple, les disques NAND et leurs ancêtres à plateaux exploitent la redondance des données pour détecter et corriger les erreurs ; cette redondance n’a que peu d’impact sur l’espace de stockage (elle représente moins de 1% de la capacité du produit). Les produits d’Apple présentant généralement des taux d’erreur assez faibles, ils ne devraient pas présenter de problèmes durant leur durée de vie.

Quelles sont les limites d’APFS ?

La version d’APFS qui sera livrée avec la version finale de macOS Sierra sera une Developer Preview. La première DP présente de sérieuses limitations :

  • impossible de démarrer à partir d’un volume APFS ;
  • les noms de fichiers sont sensibles à la casse uniquement ;
  • les sauvegardes Time Machine ne sont pas prises en charge ;
  • les volumes APFS ne peuvent pas être chiffrés avec FileVault ;
  • les disques Fusion Drive ne sont pas pris en charge.

Tout cela est particulièrement handicapant pour un usage au quotidien, mais personne n’a dit — et surtout pas Apple — que les préversions se destinaient à des Mac de production.

Apple précise également que seuls les Mac équipés d’OS X Yosemite (et ultérieurs) sauront reconnaître les volumes APFS. Les volumes APFS ne pourront être partagés que via le protocole SMB ; l’usage du protocole AFP est « déconseillé », mais de ce qu’on en a compris, il ne sera sans doute jamais pris en charge.

Apple n’a par contre pas (encore) évoqué le sujet du RAID, mais il reste encore du temps au constructeur pour plancher sur le sujet.

Est-ce que APFS sera open source ?

APFS est une technologie propriétaire, et en attendant le lancement de la version finale il n’est pas prévu que la DP du système de fichiers change quoi que ce soit. En revanche, Apple publiera les spécifications techniques pour la version finale d'APFS. Il y a donc fort à parier que le système sera disponible en open source dans le courant de l'année prochaine.

Après tout, Apple sait — quand cela l'arrange — s'adresser à la communauté : qu'on songe à ResearchKit, CareKit, et évidemment Swift. Étrangement, c'était moins clair pour Adam Leventhal, qui écrit lui ne pas s’attendre à ce que le système de fichiers soit open source un jour, bien qu’il y aurait une certaine classe à voir Linux, FreeBSD, voire Microsoft adapter APFS à leurs besoins. On attendra la confirmation officielle l'année prochaine (ou plus tôt).

Quand pourrons-nous profiter d’APFS ?

APFS sera le système de fichiers par défaut de tous les produits Apple d’ici la fin de l’année 2017 (Mac, iPhone, iPad, iPod touch, Apple Watch, Apple TV). Le constructeur met la dernière touche sur un outil de migration transparent de HFS+ vers le nouveau système de fichiers. Les développeurs auront droit à une Developer Preview lorsque Sierra sera disponible en version finale, sans doute cet automne.

Il ne sera donc pas utile de réaliser une sauvegarde complète de ses données, d’effacer son disque dur, de le formater APFS puis de restaurer les données : cet exercice est le chemin le plus court vers de sérieux problèmes pour de nombreux utilisateurs. Avec ce futur outil de migration, leurs données resteront à leur place, le tout devant donner l’impression que rien ne s’est passé. Il est cependant possible que la migration demande un peu de temps.

macOS continuera de supporter HFS+, tout comme les autres systèmes de fichiers : il sera toujours possible de monter un disque formaté HFS+ sur son Mac flambant neuf carburant à l’APFS. Les applications qui fonctionnent sous HFS+ seront compatibles APFS.

Est-ce que j’ai besoin d’APFS ?

Vous n’aurez pas tellement le choix de toute façon.

Tags
avatar reborn | 

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 | 
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 | 

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 | 

@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 | 

> 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 | 

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

avatar fte | 

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 | 

@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 | 

"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 | 

@ 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 | 

«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 | 

> 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 | 

@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 | 

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

avatar C1rc3@0rc | 

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 | 

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 | 

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

avatar C1rc3@0rc | 

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 | 

@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 | 

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 | 

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 | 

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 | 

@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 | 

@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 | 

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.

avatar béber1 | 

reborn
"De cette manière un volume icloud pourrait apparaître dans le finder au même titre d'un disque local."

tiens, cela me rappelle l'iDisk de feux iTools, .Mac, Mobile.Me…
Vieille idée (~2000) qui aura mis pas mal de temps à se stabiliser

avatar bbtom007 | 

J'espère qu'il sera dispo en or rose

avatar Alexharez | 

@bbtom007 :

avatar Alexharez | 

@alexharez :
1

avatar MacGyver | 

+1
et si ils y avaient pensé plutot, ils auraient pu passer plus de temps dessus lors de la keynote

avatar byte_order | 

si c'est pas dispo en bleu profond, j'installe pas !

avatar adixya | 

Oui et j'espère que les emojis seront 5 fois plus gros !!

avatar guillrun | 

Ou est ios 10 beta 2 ????

avatar cloudy | 

Et on doit légitimement pouvoir espérer que des applications comme Docker pourront profiter de ces évolutions.

La dernière mouture native pour Mac (en beta) a encore pas mal de soucis de perf liés aux Filesystem.
C'est environ 100 fois plus lents que les autres plateformes.

Je suis pas un expert mais je pense qu'un nouveau FS peut apporter beaucoup. Et les gars de Docker utilisent en général bien ce genre de chose (ex: voir ce qu'ils font avec Btrfs sur Linux).

avatar PierreBondurant | 

Est ce que qqun sait si avec ce nouveau système de fichier l'OS peut détecter des erreurs d'écriture quand il effectue la copie d'un fichier et prévenir l'utilisateur ?

avatar fousfous | 

Ça peut signifier quelque chose le fait que sous le capot tout les OS d'Apple fonctionneront pareil, ça va peut-être ouvrir la voie aux apps iOS sur macOS et même ARM sur Mac.
Surtout que l'année prochaine c'est la grosse mise à jour pour les Mac!

avatar iGeek07 | 

@fousfous :
Je peux vous assurer que ce n'est pas le système de fichier qui est un quelconque frein pour faire tourner les applications iOS sur Mac…

avatar C1rc3@0rc | 

@fousfous

Ben jusqu'a preuve du contraire, iOS fonctionne déjà avec le meme FS que MacOS, vu qu'iOS c'est deja MacOS a 95%.

La raison pour laquelle MacOS ne tourne pas encore sous ARM est marketing, pas technique. Au niveau puissance l'A9x est deja plus puissant que les x86 de nombreux modeles de Mac, a commencer par le Macbook.

avatar fte | 

@C1rc3@0rc :
La preuve du contraire a été donnée pendant la WWDC. Des ingénieurs ont clairement dit que les devices iOS utilisent une version modifiée d'HFS et qu'APFS unifiera ces différences.

Quant aux ARM, aucun n'est plus puissant que les processeurs Core d'Intel. Ni en multithread, ni en monothread.

avatar byte_order | 

Sans oublier qu'entre proposer une version ARM d'un seul code, macOS, et pouvoir disposer de l'ensemble des logiciels que vous avez besoin en version ARM également, il y a une grosse différence.

avatar fte | 

Ah ça, c'est clair.

Une des forces de l'architecture ARM est d'incorporer des cores asymétriques. Par exemple deux cores puissants et un core beaucoup moins puissant, mais très économe en énergie. C'est une possibilité fantastique lorsque l'énergie est une ressource limitée et précieuse, mais au prix de performances de pointe très affectées.

Intel privilégie des cores symétriques, tous identiques, et de varier considérablement leur fréquence de fonctionnement. C'est un peu moins efficace pour économiser l'énergie.

avatar C1rc3@0rc | 

Ben non c'est pas clair du tout

Deja il ne s'agit pas d'une architecture asymétrique chez ARM comme dans le cas du Cell mais de deux set de core juxtaposés (heterogenes), un set étant optimisé pour la puissance l'autre pour l'économie.
L'approche n'est pas stupide, et est bien plus efficace qu'un contrôle de l'alimentation mais elle ne vaut que pour des situations ou l'on a une exploitation mixtes bien délimité et durables: ce qui est pertinent sur du smartphone qui passe l'écrasante majorité de son temps a ne rien faire. Sur une tablette ça a déjà moins de sens et sur un PC c'est contreproductif.

Le big.LITTLE est une option de montage mais n'est pas la norme.
Apple ne l'utilise pas et pourtant ses processeurs sont au sommet en terme de puissance et d'efficacité énergétique.

De son coté Intel a développé une approche batarde qui fait qu'avec le TDP dynamique et la capacité de throttling des core controlés par l'unité de gestion électrique du processeur on arrive a un systeme virtuellement asymétrique impossible a contrôler de l'extérieur.
De plus Intel a ajouté tellement de coprocesseurs spécialisés pour compenser la déficience des Core x86 que l'on est face a une architecture hétérogène qui ressemble a la cuisine du diable.

Ce qui plombe le x86 c'est pas le montage du processeur, c'est la complication du core causé par l'architecture x86. Si on supprime la couche nécessaire aux traitements du code x86, on fait un bon d'efficacité énergétique considérable!

Ensuite, passer d'applications x86 a ARM c'est une question de respect des API et de recompilation. Dans le meilleur des cas c'est une case a cocher, dans le pire faut reecrire les parties d'optimisation x86, ce qui pour la majorité des soft n'existe pas...
Et avec des applications écrites en Swift, ce devrait être aussi transparent que compiler pour iPhone et iPad...

avatar fte | 

@C1rc3@0rc :
OK alors là la concentration d'inepties bat des records. Je ne vais même pas essayer. Wow.

avatar C1rc3@0rc | 

@fte
«Des ingénieurs ont clairement dit que les devices iOS utilisent une version modifiée d'HFS et qu'APFS unifiera ces différences. »

Ce qui est important c'est de savoir a quel niveau se situent ces différences précisément: tres bas niveau pour prendre en charge le SSD et codé en assembleur ARM?
Après on peut aussi dire que l'OS dans les très bas niveau est très different sur MacOS et sur iOS: autant que les sont les architecture x86 et ARM, car c'est évident, au bas niveau on va pas gérer du code ARM avec du code x86...

«Quant aux ARM, aucun n'est plus puissant que les processeurs Core d'Intel. Ni en multithread, ni en monothread.»

Si, plus puissants que le Core M a consommation équivalente. Et similaire au Core i3 et i5 en consommant moins. Et pitié ramènes pas les bench en mode surperturbo.

La supériorité de l'architecture ARM est de toute façon mathématique, la complication de l'architecture x86 nécessite pour son seul traitement une population entière de transistors et des aller-retours en mémoire qui sont évités avec l'architecture ARM.
Et cela n'est pas récent: le x86 a été conçu pour monter en puissance sans se soucier de l'efficacité énergétique, qui elle, repose sur la finesse de gravure 9et donc depuis le passage sous les 90nm ça stagne grave. Et en plus le x86 s'est écrasé contre le mur des 4Ghz...

avatar BeePotato | 

@ C1rc3@0rc : « Ben jusqu'a preuve du contraire, iOS fonctionne déjà avec le meme FS que MacOS »

Pas tout à fait. Ça a bien été précisé lors de la session de la WWDC consacrée à APFS (oui, il y en a bien eu une, ce qu’on peut compter comme une « annonce principale » pour les développeurs :-P).

Reste qu’effectivement, ça n’a aucune influence sur ce dont parle foufous.

avatar C1rc3@0rc | 

@PierreBondurant

Ben heu le contrôle d'intégrité c'est une base du FS, voir meme simplement au niveau du driver, donc sur ça échoue la copie échoue. Apres a charge de l'OS de recommencer ou d'avertir l'utilisateur. Mais HFS le fait bien évidemment...

Avec APFS il semble qu'Apple compte beaucoup (trop) sur la fiabilité des composants. Le CRC du FS ne peut pas etre remplacé par le ECC!

avatar fte | 

Non, le contrôle d'intégrité n'est pas une base des FS. Certains le font, la majorité non. Et quelle intégrité ? Des structures du FS ? Des métadonnées ? Des extended attributes ? Des datas ?

Le CRC du FS ne veut rien dire. De plus un ECC, error correcting code, est beaucoup plus sophistiqué et permet des récupérations d'erreurs, là ou un CRC, cyclic redundancy check, ne permet que de détecter qu'une erreur s'est produite sans pouvoir rattraper le coup. Un CRC peut tout à fait être remplacé par un ECC.

avatar PierreBondurant | 

@C1rc3@0rc :
Merci.

avatar dumas75 | 

P => Protocole

avatar byte_order | 

Un protocole est une convention de communication d'information.
Un système de fichier est une convention d'organisation du stockage de l'information. Sémantiquement, on ne parle pas de protocole dans ce cas là.

De toute façon le P est là pour distinguer APFS de AFS, un système de fichier qui existe déjà.
Je pense que APFS étant destiner à être déployer sur toutes les plateformes d'Apple que le P vaut pour "Platforms", plutôt.

Pages

CONNEXION UTILISATEUR