Con un laconico annuncio pubblicato sul sito dedicato al progetto (ved. questa pagina), Apple dà l’addio definitivo al file system ZFS. Acronimo di “Zettabyte File System“, ZFS è un file system opensource sviluppato da Sun Microsystems che, secondo quanto dichiarato ormai più di due anni fa, avrebbe dovuto affiancare HFS+ sui sistemi Mac di Apple.
A più riprese ZFS era stato ritenuto come uno dei principali contendenti tra i file system concepiti per Mac OS X e la comparsa di un primo supporto per ZFS in Mac OS X 10.5 era stato da molti considerato un segnale importante. Il lancio di “Snow Leopard”, che ha completamente stralciato il supporto per il file system ZFS, ha minato le basi di quelle che sembravano ormai certezze.
Le motivazioni che hanno condotto Apple a chiudere definitivamente il progetto possono essere molteplici. Una ragione potrebbe essere collegata a questioni di brevetti software: ZFS è infatti al centro di un’azione legale avviata da NetApp nei confronti di Sun. Altri motivi potrebbero essere diretta conseguenza dell’acquisizione di Sun da parte di Oracle: la manovra potrebbe in qualche modo influenzare il lavoro di Apple su ZFS.
ZFS è un file system a 128 bit progettato da Sun e concepito per avere limitazioni in termini di quantità di dati memorizzabili tali da non essere mai raggiungibili nella pratica. Questo file system dovrebbe avere un ciclo di vita pari a circa 30 anni offrendo la possibilità di arrivare a gestire 16 esabyte ovvero 18 milioni di terabyte (un terabyte è pari a 1000 gigabyte).
Molti file system, inoltre, dipendono dall’hardware in uso per stabilire se i dati dovessero risultare in qualche modo corrotti e possono solo informare l’utente circa la situazione ingeneratasi. ZFS utilizza un checksum a 256 bit: ciascun blocco dati viene controllato ad ogni lettura e non viene mai sovrascritto. Viene invece allocato un nuovo blocco ove vengono memorizzati i dati modificati. In questo modo il file system può tornare agevolmente sui propri passi pressoché annullando le conseguenze dovute a blocchi di dati che dovessero essersi danneggiati.