Per capire perché i file system Linux non hanno bisogno di deframmentazione nell'uso normale - e quelli di Windows sì - devi capire perché la frammentazione si verifica e come i file system di Linux e Windows funzionano in modo diverso l'uno dall'altro.
Cos'è la frammentazione?
Molti utenti di Windows, anche inesperti, ritengono che la deframmentazione regolare dei loro file system acceleri il loro computer. Ciò che molte persone non sanno è perché questo sia.
In breve, un disco rigido ha un numero di settori su di esso, ognuno dei quali può contenere una piccola porzione di dati. I file, in particolare quelli di grandi dimensioni, devono essere archiviati in un certo numero di settori diversi. Supponiamo che tu salvi un numero di file diversi nel tuo file system. Ciascuno di questi file verrà archiviato in un cluster contiguo di settori. Successivamente, aggiorni uno dei file che hai originariamente salvato, aumentando le dimensioni del file. Il file system tenterà di memorizzare le nuove parti del file accanto alle parti originali. Sfortunatamente, se non c'è abbastanza spazio ininterrotto, il file deve essere diviso in più parti: tutto ciò avviene in modo trasparente per te. Quando il tuo hard disk legge il file, le sue teste devono saltare tra le diverse posizioni fisiche sul disco rigido per leggere ogni pezzo di settori - questo rallenta le cose.
La deframmentazione è un processo intensivo che sposta i bit di file in giro per ridurre la frammentazione, garantendo che ogni file sia contiguo sull'unità.
HTG spiega: hai davvero bisogno di deframmentare il tuo PC?
Come funzionano i file system di Windows
Il vecchio file system FAT di Microsoft - visto per default su Windows 98 e ME, sebbene sia ancora in uso su unità flash USB oggi - non tenta di organizzare i file in modo intelligente. Quando si salva un file in un file system FAT, lo salva il più vicino possibile all'inizio del disco. Quando salvi un secondo file, lo salva subito dopo il primo file - e così via. Quando i file originali crescono di dimensioni, saranno sempre frammentati. Non c'è una stanza vicina in cui possano crescere.
Il nuovo file system NTFS di Microsoft, che si è fatto strada sui PC consumer con Windows XP e 2000, cerca di essere un po 'più intelligente. Alloca più spazio "buffer" attorno ai file sul disco, anche se, come ogni utente Windows può dirti, i file system NTFS sono ancora frammentati nel tempo.
A causa del modo in cui funzionano questi file system, devono essere deframmentati per mantenere le massime prestazioni. Microsoft ha alleviato questo problema eseguendo il processo di deframmentazione in background sulle ultime versioni di Windows.
Come funzionano i file system Linux
I file system Linux ext2, ext3 e ext4 - ext4 essendo il file system usato da Ubuntu e dalla maggior parte delle altre distribuzioni Linux attuali - alloca i file in modo più intelligente. Invece di collocare più file vicini l'uno sull'altro sul disco rigido, i file system Linux disperdono file diversi su tutto il disco, lasciando una grande quantità di spazio libero tra loro. Quando un file viene modificato e ha bisogno di crescere, di solito c'è molto spazio libero in cui il file può crescere. Se si verifica la frammentazione, il file system cercherà di spostare i file in giro per ridurre la frammentazione nell'uso normale, senza la necessità di un'utilità di deframmentazione.
Se hai problemi con la frammentazione su Linux, probabilmente hai bisogno di un hard disk più grande. Se hai veramente bisogno di deframmentare un file system, il modo più semplice è probabilmente il più affidabile: copia tutti i file dalla partizione, cancella i file dalla partizione, quindi copia i file sulla partizione. Il file system allocherà in modo intelligente i file mentre li copi di nuovo sul disco.
È possibile misurare la frammentazione di un file system Linux con il comando fsck: cercare "inodi non contigui" nell'output.