I lavori in corso di ZFS su Leopard. La storia
22/01/2007 07:00 CET
Ma come è arrivata Apple a questa scelta?
Apple nel lontano settembre del 1985 pensionava il vetusto MFS – Macintosh File System usato fino ad allora in tutti i suoi computer, allora c'era già in circolazione quel FAT ancora in uso nei PC di oggi.
Con la crescita esponenziale delle informazioni da immagazzinare, Apple passò all'HFS – Hierarchical File System, con una vera gerarchia di directory. Erano i tempi del System 2.1, del Finder 5 e del Macintosh 128k. Con un Windows incapace di andare oltre al nome dei file più lungo degli 8+3 caratteri, il Mac poteva già ambire ai 31 caratteri, con l'aggiunta di metadati e memorizzazione separata di dati e risorse in un unico file.
Qualcosa che durò incontrastato per la bellezza di quasi 13 anni, fino all'avvento dell'HFS+ (o Mac OS Extended Format) con il Mac OS 8.1 del gennaio 1988, il primo capace di gestire Mac con processori Motorola 680×0 o PowerPC.
Magicamente gli hard disk, con HFS+, acquistavano subito un maggior spazio del 30%, rispetto alla formattazione HFS. L'allocazione dei file diventava più ordinata ed omogenea. Ma attenzione a collegarli a Mac con Mac OS 8.0, i file sparivano alla vista dell'utilizzatore, il sistema provvedeva ad avvertirlo che era necessario utilizzare HFS+ su Mac OS 8.1.
La convivenza tra HFS e HFS+ è durata circa tre anni. Addirittura adesso, con Mac OS X imperante, i due sistemi sono ancora riconosciuti. Attraverso utility specifiche come MacDrive gli hard disk formattati con questi due sistemi diventavano "commestibili" per Windows.
E mentre le formattazioni DOS FAT16 o FAT32 sono riconosciute dai Mac fin dal System 7 senza nessun problema, purtroppo, i dischi formattati NTSF sono riconosciuti dal Mac OS X di oggi, ma non scrivibili.
Secondo le note tecniche di Apple il filesystem di Darwin/OS X è progettato su un'architettura VFS – Virtual File System modulare che rende possibile aggiungere nuovi filesystem e usare ed ampliare le funzioni di quelli già noti, tra cui HFS, HFS+, ISO9660 (tipicamente CD-ROM) ed altri ancora.
Fin dalla disponibilità di Mac OS X Public Beta "Kodiak" (orso bruno) del settembre 2000 (nonostante la sua fase, costava 30 dollari, ndr) e poi con Mac OS X 10.0 "Cheetah" (ghepardo), per arrivare alla 10.1 "Puma" l'utente ha iniziato a familiarizzare con un nuovo filesystem: UFS – UNIX File System.
Già, perché con il suo ritorno in Apple come iCEO nel 1997, Steve Jobs si è portato in dote l'esperienza di NeXT, l'azienda di sperimentazioni (senza reali successi commerciali, ndr) su innovative macchine UNIX.
Ebbene, UFS non supportava la divisione propria dell'HFS che permetteva di separare data-fork da resource-fork, ma soprattutto rallentava molto le ricerca, a causa della impossibilità del filesystem di leggere nella directory btree (con l'aggiunta dell'introduzione della distinzione tra maiuscole e minuscole nei nomi). Insomma, UFS non diventò un sistema popolare.
Con Mac OS X 10.2 Server "Jaguar" (ma in Europa e in Italia non si poteva usare pubblicamente questa simpatica denominazione, ndr) e Mac OS X 10.3 "Panther" Apple introduceva la versione "Journaled" di HFS+. Sarà poi la tipologia base di Mac OS X 10.4 "Tiger".
Il journaling era una funzione già disponibile in alcuni sistemi operativi come Linux e OS/2 di IBM: il computer mantiene un vero e proprio "diario di bordo" o "journal" di tutte le operazioni che compie sul disco fisso. Lo scopo è quello di facilitare il ripristino dei dati, ad esempio dopo un crash o dopo una interruzione di corrente.
Con un filesystem di tipo "journaled" e gli strumenti opportuni (dischi veloci, molta memoria RAM e cache ottimizzata) è facile riportare la macchina allo stato in cui era prima del malfunzionamento.
Bisogna attendere fino al 2004 per veder nascere il primo filesystem @ 128 bit, per merito di Sun. Anche se lo stesso sistema operativo Solaris (di SUN, ndr) non lo integrerà ancora per oltre un anno, fino al rilascio di OpenSolaris 10 build 27.
ZFS – Zettabyte File System, appunto.
I sistemi operativi che attualmente utilizzano ZFS sono principalmente Solaris per CPU SPARC o x86.
Ad oggi su Mac ZFS non esiste, viene lentamente implementato nelle varie distribuzioni dedicate agli sviluppatori e sarà un filesystem adatto ai tempi futuri. Se Apple deciderà di supportare completamente ZFS nel prossimo sistema operativo con tanto di disco d'avvio su questo filesystem oppure se ci sarà solo il supporto alla lettura/scrittura per dischi esterni (magari di backup), è ancora da chiarire.
Pensiamo però alle mirabolanti promesse della Time Machine di Mac OS X 10.5 Leopard in uscita in primavera, per gestire una memoria a ritroso, se non infinita, certamente enorme, ZFS sarà utile per non sovrascrivere più nulla ma continuare ad aggiungere dati (hard disk permettendo), recuperandoli in tempi accettabili o, nelle speranze di tutti, molto ristretti.
ZFS opera su volumi virtuali creati anche con più directory o dischi fisici, una sorta di RAID, ogni hard disk aggiuntivo sarà un'espansione del disco iniziale della quantità di dati nominali del nuovo.
Pare che nel 2004 non fossero sufficienti tutti gli hard disk presenti sul pianeta Terra per raggiungere il limite teorico dello ZFS: ben 10^18 file da 16 EB (exabyte). Quanto è 1 EB? 1.152.921.504.606.846.976 byte!