Et si Apple portait ZFS sur iOS ?

Christophe Laporte |

L'une des faiblesses actuelles des systèmes d'exploitation d'Apple, c'est son système de fichiers, le HFS+ qui accuse quelque peu le poids de son âge.

Apple a longtemps travaillé à remplacer son système de fichiers par le ZFS, mais en 2009, Apple a fait marche arrière pour des raisons de licence (lire : ZFS : chronique d'un abandon). Depuis, Sun, qui possédait cette technologie, a été racheté par Oracle.

Vendredi dernier, le site iMore a reçu un témoignage laissant entendre qu'il y aurait des traces de ce système de fichiers dans iOS 5.1. L'implémentation de ZFS dans iOS serait relativement avancée si l'on en croit iMore. Il gérerait d'ores et déjà les lectures et écritures.

Vingt-quatre heures plus tard, le site disait avoir reçu des témoignages affirmant qu'Apple avait énormément investi dans le ZFS ces derniers temps. Cette rumeur est à prendre avec de grosses pincettes, mais elle serait extrêmement intéressante si elle s'avérait. Le ZFS est un système de fichiers extrêmement puissant et performant.

Le ZFS est particulièrement utile pour les sauvegardes. Il permet de conserver une "photographie" de base de votre disque et ne sauvegarde par la suite que les modifications faites depuis celle-ci, ce qui est bien plus économe en stockage. Les snapshots peuvent être compressées et chiffrées. Tout ceci pourrait être très utile pour iCloud.

À ne pas en douter, si ZFS faisait effectivement son apparition, il finirait également par être adopté tôt ou tard dans OS X. Reste une question, la plus importante : info ou intox ?

Tags
avatar neg2gwada | 
Intox
avatar Yves_M | 
En 2 ! News de macgeneration sur le ZFS ?
avatar tifilou68 | 
@royalwithcheese Enjoliveur ?
avatar eliss | 
Intox
avatar foudeapple | 
Le gros fantasme
avatar napuconcture | 
Intox : ZFS est trop consommateur en RAM pour le moment. Sur un seul périphérique mobile non amovible avec de la gestion de petits fichiers ça ne sera pas à grands chose. Déjà sur OS X ce n'est pas spécialement utile.
avatar popo69 | 
@lmouillart : j'étais à deux doigts de le dire dans la news mais il semble que les choses se sont améliorées récemment. Enfin c'est ce que j'ai lu
avatar napuconcture | 
Cela dépends des fonctionnalités du système de fichier utilisé mais cela varie de plusieurs 100ène de Mo à des 10ène de Go de RAM. Après ils peuvent avoir fait une version allégée du ZFS, en suppriment zpools, caches, ... Clairement ZFS est "trop puissant" pour du desktop/mobile. En fait en y réfléchissant cela pourrait être intéressant pour des NAS ou ibiduleEntreprise de stockage pour entreprise/particulier tournant sur iOS : type super timecapsule.
avatar amok75 | 
"L'une des faiblesses actuelles des systèmes d'exploitation d'Apple, c'est son système de fichiers, le HFS+ qui accuse quelque peu le poids de son âge." Pourquoi ? Quels sont ses problèmes ? En quoi est-il vieillissant ?
avatar mapruneau | 
Quelques défauts du HFS+ : - il traite les données par blocs de 16bits (au lieu de 64 voire plus) - les données sont stockées en big endian et non little endian (en gros, le nombre 12345678 est utilisé sous la forme 56781234 par ton processeur et sous la forme 12345678 par HFS+, donc il doit inverser tout le temps 1234 et 5678) - les dates sont précises à la seconde (et non à la milliseconde) - un seul processus peut écrire à la fois sur du HFS+, alors qu'on a plein de cœurs dans les processeurs - impossible de détecter de la corruption de données
avatar eldaran83 | 
@d9pouces : Les blocs de 16 bits ne permettent justement pas une meilleure répartition des données sans perte d'espace ? Et pour les autres problèmes, qu'est ce qui empêche un HFS++ ?
avatar drkiriko | 
@hadrien01 : aujourd'hui l'espace est moins problématique que la vitesse, donc on préfère aller plus vite en perdant un peu (pas trop non plus) d'espace, que le contraire.
avatar drkiriko | 
@d9pouces : +1 T'as tout dit...
avatar jegolu | 
@d9pouces Merci. Infox ?
avatar RaZieL54 | 
La difference entre little et big endian est anecdotique et n'entraine pas de difficulte surtout pour les I/O. Les grands avantages de HFS+ sont sa securite, sa capacite de gestion de la fragmentation et surtout son economie de ressources materiel. La plupart des reproches qu'on peu lui faire se trouvent etre deportes et compenses au niveau des processus et applications faisant appel a HFS+... L'autre element a prendre en compte, c'est la presence de plus en plus grande d'une base de donnees en lieu et place du systeme de gestion de fichiers. Cela est remarquable dans OS X mais plus encore dans iOS ou SQLite3 ou encore la gestion basee sur XML se substitue au gestionnaire de fichiers... Et cela pose bien évidement la pertinence des fonctionnalites d'un système de gestion de fichier. En bref tous ces defauts n'en sont pas vraiment, a part le problème des accès concurrents, qui il est vrai est une limitation fondamentale de tous les systèmes de gestion de fichiers cree pour les machines monoprocesseurs, donc l'écrasante majorité... Et qui est aussi inherente au materiel: un disque ne peut lire ou ecricre qu'une piste a la fois. Pour avoir des acces parallel il faut disposer de plusieurs lignes d'I/O et il faut qu'elles soient suffisamment rapides pour suivre les processeurs... C'est une situation qui commence tout juste a emerger avec l'arrivee des SSD et des RAID-SSD... Donc pour des machines sous iOS, ce n'est pas vraiment une urgence
avatar mapruneau | 
@rom54 > j'aimerais bien savoir d'où viennent ces merveilleuses qualités de HFS+ (sécurité, économies de ressources matérielles, ...) Au contraire, HFS+ est loin d'être fiable, vu qu'il est seulement journalisé (on peut donc se retrouver avec un fichier corrompu si le kernel panique au milieu d'une écriture — pas de copy-on-write —, et un fichier peut être corrompu sans qu'on s'en rende compte — pas de contrôle d'intégrité sur les données). Quant aux accès concurrents, des FS existants permettent déjà des écritures concurrentes (ext4, ou NTFS). D'autre part, les disques durs actuels réorganisent eux-mêmes les requêtes et peuvent donc entrelacer différentes requêtes d'écriture pour optimiser (c'es le NCQ), sauf qu'avec le HFS+ ce n'est pas possible en écriture...
avatar Helmer | 
@d9pouces : tout le monde sait que HFS+ est à bout de souffle.
avatar davmacgeneration | 
@Jimmy_ "tout le monde sait que..." Non :-) Je pense comprendre ce que tu veux dire Mais ton étrange expression est erronée :-)
avatar JackOne | 
Au lieu de fantasmer sur une implémentation de ZFS, on pourrait plutôt réfléchir sur quelques observations. Lion à quand même introduit le plus gros changement dans l'histoire du système de fichier de Mac OS X, une solution pour créer un gestionnaire de volume logique : Core Storage. Sans rentrer dans les détails, actuellement Core Storage dans Lion permet de crypter un volume entier avec FileVault en toute transparence. Core Storage est responsable de la gestion des blocs de données qui constituent les différents volumes logiques sur un disque. Si on transpose ce que fait Core Storage sur les blocks au niveau du fichier et si on transforme la notion de volume en répertoire, on a peut être ici les bases d'un nouveau système de fichier. En d'autres termes, Apple pourrait être entrain de créer en interne un nouveau système de fichier moderne pour son OS.
avatar napuconcture | 
Enfin un LVM est totalement différent d'un système de gestion de fichier. Les LVM sont la couche au dessous des FS.
avatar RaZieL54 | 
Remplacer HFS+... jusqu'a maintenant le comportement d'Apple c'est de faire evoluer HFS et de le considerer comme un ensemble s'integrant dans une chaine de gestion des données. Apple a fait une grosse avancee en passant de MFS a HFS, mais on était toujours dans le monde du PC monoprocesseur et le plus avance des système de stockage restait le Raid0 avec des disques classiques. Sur la totalité des fonctions et sur l'efficacité, HFS+ est bien plus performant, fiable et avance que FAT et NTFS. C'est meme souvent incomparable, ne serait ce qu'au niveau de la gestion de la fragmentation ou de l'intégrité. Par contre il est vrai que le EXT4 de Linux est plus performant que HFS+ et que HFS+ pourrait aussi s'en inspirer. Comme je disais précédemment, il faut aussi se poser la question du niveau d'integration de la fonction. Si on veut rajouter des fonctions de type base de données dans le SGF comme dans ZFS, il faut bien peser le pour et le contre. Ce que l'on demande a un SGF, c'est de donner un acces le plus rapide, securise et optimise(ressource) a un fichier, indépendamment du contenu du fichier. Si maintenant on rajoute un ensemble de donnees autour de ce fichier, comme la redondance, le cryptage, des informations d'indexation, un taux de compression, des informations de versionning,... on alourdit le processus de gestion. Cela peut paraitre necessaire pour un gros fichier complexe, mais pour des milliers de petits fichiers texte ou png (imaginez que les png de l'interface soient cryptes et indexes...), ca cree des problèmes et ca ralentit globalement la machine tout en occupant de la memoire vive... Souvent la verification d'intégrité de l'information est plus pertinente au niveau du processus qui la genere ou l'utilise, car il en connait la structure et l'utilisation. Idem pour le cryptage. De meme la verification de l'intégrité du materiel se situe au niveau du drivers, mais aussi au niveau plus eleve de l'OS, ce qui parait logique.
avatar napuconcture | 
"futur développement de ReiserFS incertain" Depuis l'incarcération de Hans Reiser, le ReiserFSV4 est tout juste maintenu, en plus le nom est maintenant salement connoté.
avatar mapruneau | 
@hadrien01 > non, rien à voir, vu que de toute façon le système de fichiers est divisé en blocs de 4ko (même si ton fichier fait 5o, il prend physiquement 4ko). Sinon, ZFS est clairement trop gourmand et trop puissant pour une tablette... Et un de ses gros intérêts (pouvoir augmenter l'espace facilement en rajoutant un disque) est parfaitement inutile sur iOS vu que l'espace de stockage est fixe.
avatar mapruneau | 
@lyon3 > même si CoreStorage a un système pour traquer l'espace libre, ça ne le rend pas adapté à gérer des millions de fichiers. Sur un disque physique, tu n'as que quelques (moins de 10) partitions, donc tu n'utilises pas du tout les mêmes structures de données...
avatar JackOne | 
@d9pouces On le sait ça. Justement l'idée est qu'Apple continue son travail entrepris avec Core Storage pour développer un nouveau système de fichier.
avatar terreaterre | 
Certaines personnes ici confondent gestionnaire de volume logique ( LVM comme imouillart à précisé) et système de fichier.
avatar JackOne | 
@hirtrey Certains ici ont des problèmes de lecture. Personne ne dit que Core Storage est un système de fichier (mais un LVM comme il l'a été précisé non pas par imouillart mais par moi même). Ce qui est dit et qui une hypothèse, c'est qu'Apple, sur la base du travail réalisé avec Core Storage, développe un nouveau système de fichier.
avatar terreaterre | 
@daito : 'sur la base du travail réalisé avec Core Storage, développe un nouveau système de fichier' LOL
avatar hellonearth | 
Sur ce terrain, ce que j'aimerais c'est qu'Apple prenne le taureau par les cornes et propose une véritable révolution pour qu'on ne soit plus prisonnier d'un système de fichiers. Il n'y a rien de plus agaçant que se retrouver avec un support formaté pour un système X illisible par le système Y ou Z. Entre mon équipement informatique Apple donc sous HFS+, l'obligation de lecture (au moins) avec les clients ou partenaires sous Windows donc sous NTFS (je ne compte pas FAT, trop limité avec même des clés USB de plus de 4Go), et les NAS ou disques multimédia sous ext3/4, c'est un des derniers bastions d'incompatibilité, et c'est vraiment pénible!
avatar napuconcture | 
Le système de fichier qui est géré par le plus d'OS et de périphériques est le FAT ou exFAT pour les fichiers de grandes tailles/acl ...
avatar Sebasto | 
Et niveau perfs ça donne quoi? Parce que ça risque de fragmenter le système. En tout cas l'idée m'a l'air intéressante et elle s'inscrit parfaitement dans la logique de sauvegarde de lion avec Version.
avatar JackOne | 
Remarquer l'argument époustouflant de hirtrey, je vous le donne c'est : LOL Incroyable non!
avatar terreaterre | 
@daito : Relis bien ta phrase et tu comprendras pourquoi tu me fait toujours aussi rire.
avatar JackOne | 
@hirtrey Je vous livre un nouvel argument qui témoigne de la grand finesse intellectuelle de notre ami. Attention c'est impressionnant de génie : "Relis bien ta phrase et tu comprendras pourquoi tu me faiT toujours aussi rire"
avatar terreaterre | 
En manque d'argument pour m'attaquer sur mon orthographe, monsieur compilation natif, maître ès système de fichier. Bon, maintenant que nous nous sommes un insulté, explique nous comment le futur système de fichier Apple aura comme base le gestionnaire de volume logique Core Storage. Je voudrais bien avoir des explications. Je vais au ciné, à demain pour ta réponse. Ne fait pas trop de boucle dans tes fonctions et compiles en natif ;)
avatar terreaterre | 
@lyon3: Cherches sur le net, gestionnaire de volume ... et système de fichier, tu comprendras le soucis.
avatar KOVU | 
"puissant et performant" cest-à-dire qu'il faudra une station de travail pour le faire tourner un tout petit peu moins vite que le hfs ?
avatar mapruneau | 
Tomn > ZFS apporterait une compatibilité native avec SunOS, mais c'est à peu près tout. ZFS n'est supporté que de façon plus ou moins bancale sur Linux et BSD, et il n'est pas franchement répandu. Accessoirement, Linux et BSD sont déjà compatibles HFS+ (il suffit d'installer les modules correspondants), mais globalement tout le monde se fout de Linux dès qu'on parle de grand public...
avatar oliv-et-pomme | 
Et pendant ce temps, Windows est encore sur NTFS... LMAO
avatar mapruneau | 
&simnico971 > NTFS est bien plus moderne que HFS...
avatar KOVU | 
Et que HFS+. Et qu'est-ce que ça veut dire "moderne" ?
avatar JackOne | 
@hirtrey, Encore une fois tu as vraiment des difficultés en lecture. Je n'ai pas écrit que le futur système de fichiers aura comme base un gestionnaire de volume logique. J'ai écrit que sur la base DU TRAVAIL effectué avec Core Storage, en réduisant le concept des blocks à celui des fichiers et le concept du volume à celui de répertoire, Apple a peut-être (c'est une hypothèse, une réflexion, je suis sûr que tu en es aussi capable) les bases d'un système de fichiers moderne. C'est une réflexion poussée à l’extrême je te l'accorde mais elle reste néanmoins intéressante pour avoir une idée du futur système de fichiers de Mac OS X.
avatar Guillaumeg33 | 
Très intéressant détail en dehors de zfs sur les différents aspects du stockage de données. Un détail pourtant : la nouveauté introduite avec lion il me semble, traite des versions d'un même fichier. Dans ce cas peut-on comparer cet évolution aux système de prise en compte des versions plus anciens (CVS ou Subversion voir à l'archivage sous UNIX) ? Évidement le sujet comporte de multiples aspect mais je pense à ceux qui sont passés du chainage SCSI au FireWire pour gérer des disque multiples. Pourait-voir l'évolution actuel comme une possibilité hybride permetant de glisser souplement vers un système maximisant tout les avantage dans la lourdeur d'un RAID 0 sur un RAID 1 mais à partir de disque de capacités différentes avec des chainages différents et des vitesses de réponses différents ? le plus simple de mon point de vu serait de faire au minimum un cache SSD d'une chaîne FireWire et/ou d'un hub USB. Quel système utilise le SSD comme cache ? Aucun ? Ensuite, il serait utile et simple puisque seule le SSD aurait une vision global des disques du chainage de ne mettre en route chaque disque que dans le cas ou on accède vraiment aux données qui sont dessus, et pas à chaque fois qu'on veux lire ou écrire … même rien du tout !!! Après on pourait glisser tranquillement vers du RAID, mais pas avant !

CONNEXION UTILISATEUR