Sei sicuro di sapere cosa fa il tuo hard disk ogni volta che legge o scrive un file dai suoi supporti di memoria? I dischi rigidi di ultima generazione possono memorizzare terabyte di dati ma tutto questo spazio richiede un altissimo livello di organizzazione al fine di evitare perdita di file e mantenere le prestazioni. Per far questo esiste una struttura all’interno del disco chiamata FILE-SYSTEM, creata dal sistema operativo durante l’installazione o durante l’inizializzazione del disco stesso. Ma come potete immaginare esistono più di un tipo di file-system, in questo articolo vedremo di capire quali sono i principali, che caratteristiche hanno e quali sono le differenze?
FAT
Il File Allocation Table (o semplicemente FAT) è forse il file system più conosciuto nel mondo dell’informatica ed è sviluppato da Microsoft. E’ rimasto in circolazione per un bel po’ e ha ricevuto aggiornamenti in varie forme, FAT16 e FAT32, ma in generale tutti lo chiamano semplicemente FAT. Di tutti i principali file system il FAT è di gran lunga il più semplice e può contenere solo file con dimensioni massime di 4 GB ciascuno. Utilizza una struttura a lista concatenata e quindi non è un file-system di tipo “journaling”.
È ormai raro da trovare sugli hard disk recenti ma si trova quasi sempre sui supporti rimovibili come pendrive USB e schede SD. Praticamente tutti i sistemi operativi supportano il file system FAT ed è quindi leggibile su qualsiasi dispositivo oltre ad essere molto facile da creare.
NTFS
NTFS (New Technology File System) è un file system di nuova generazione sviluppato da Microsoft. La sua struttura è più complessa ed è stato utilizzato per i sistemi operativi Microsoft a partire da Windows XP. Si tratta di un file system di tipo “journaling”, nel senso che registra tutte le operazioni sul dispositivo. Questo registro può essere utile a rilevare gli errori e recuperare i file in caso di guasto o interruzione di corrente. Supporta file con grandi fino a 16 TB con una dimensione massima del volume di 256 TB. Anche se non è così universale come il FAT può essere letto con facilità su tutti i principali sistemi operativi. L’NTFS è particolarmente adatto per gli hard disk interni di PC e Notebook, anche se quasi tutti i supporti rimovibili possono essere formattati questo file-system.
HFS+
HFS+ è un file system sviluppato da Apple per l’utilizzo sui proprio computer Macintosh. Per l’allocazione dei file utilizza lo stesso tipo di struttura dell’NTFS ma i due sistemi non sono compatibili tra loro. Ha un incredibile capacità di memorizzazione perché può supportare file e volumi fino ad un milione di terabyte. Anche lui come il cugino di Microsoft tiene un registro di “journaling”, facilitando il recupero in caso di errore. In quanto file-system specifico per computer Mac si trova solo su hard disk all’interno di tali sistemi. Solo Mac OS X e Linux sono in grado di leggere e scrivere su questo file system.
EXT4
Il file-system ext4 è il sistema attualmente più utilizzato su tutti sistemi Linux. È il degno successore di ext2 ed ext3 e include alcuni miglioramenti nelle performance. Anche ext4 è un file system con supporto al “journaling” ed pensato per gli hard disk. In genere non si trova sui supporti rimovibili per via delle sue proprietà e per la mancanza di un uso diffuso. È in grado di supportare file con dimensione fino a 16 TiB e volumi fino a 1 EiB. Siccome ext4 è compatibile con ext2 ed ext3, chi è in possesso di volumi in questi formati li può montare come volume ext4 ed ottenere un leggero aumento delle prestazioni grazie a un migliore algoritmo di allocazione. Gli utenti Windows invece possono ottenere l’accesso in sola lettura a questo file system utilizzando il software Ext2Read.
BTRFS
Btrfs (si pronuncia “B-Tree FS”, “Better FS”, o “Butter FS”, è un file-system di nuova generazione per le distribuzioni Linux che punta a risolvere molti dei problemi riscontrati nella più vecchia serie ext. Ovviamente integra il “journaling” e alcune differenze si possono vedere nella dimensione massima supportata per i file e i volume che ora arriva a 16 EiB. Inoltre sono state aggiunte altre interessanti caratteristiche come il “Data Pooling” (divide il file system su più dischi rigidi fisici), tempi di risoluzione in nanosecondi, snapshot, la compressione trasparente, la crittografia trasparente e la deduplicazione dei dati (rimozione dei duplicati senza comprometterne l’integrità). Almeno per ora, l’unico sistema operativo che supporta Btrfs è Linux ed è attualmente considerato instabile. E’ previsto che a breve btrfs andrà a sostituire ext4.
ZFS
ZFS è un file-system che è conosciuto solo nel mondo Unix. Supporta file e volumi fino a 16 exabyte ma non è noto per le prestazioni, piuttosto per il supporto ad un sacco di caratteristiche come la protezione contro la corruzione dei dati, la combinazione di diversi file system e sistemi di gestione dei volumi (tra cui il pooling), gli snapshot, la compressione/crittografia trasparente e la deduplicazione dei dati. È ormai considerato stabile dal 2005 però è supportato solo da Mac OS X Server, Linux e altri sistemi operativi Unix-like (Freenas). Per quanto sembri simile a btrfs, ZFS non promette le stesse prestazioni. È più comune negli ambienti aziendali che non nelle case.
Conclusioni
È probabile che incorrerete in uno di questi 6 file system durante la vostra vita. Come potete vedere tutti hanno i loro diversi vantaggi, tra cui il supporto del sistema operativo, la dimensione massima dei file e dei volumi e alcune funzioni di sistema specifiche come la compressione e la crittografia. Pertanto la scelta su quale file-system utilizzare dipende da voi a seconda del vostro utilizzo, del dispositivo sul quale lo utilizzerete e su quale sistema operativo. Può sembrare che questa scelta non sia molto importante durante la preparazione di un ambiente di lavoro piuttosto che per l’utilizzo domestico, invece vi assicuriamo che fare la scelta giusta può rendere la vostra esperienza davvero migliore.