Se sei un utente Linux, probabilmente avrai sentito che non hai bisogno di deframmentare i tuoi file system Linux. Noterai anche che le distribuzioni Linux non sono dotate di utilità di deframmentazione del disco. Ma perché è così?
Per capire perché i file system Linux non necessitano di deframmentazione nell'uso normale - e quelli Windows sì - dovrai capire perché si verifica la frammentazione e come i file system Linux e Windows funzionano in modo diverso l'uno dall'altro.
Che cos'è la frammentazione
Molti utenti Windows, anche inesperti, credono che la deframmentazione regolare dei loro file system accelererà il loro computer. Quello che molte persone non sanno è perché questo è.
In breve, un disco rigido ha un numero di settori su di esso, ognuno dei quali può contenere un piccolo pezzo di dati. I file, in particolare quelli di grandi dimensioni, devono essere archiviati in un numero di settori diversi. Supponiamo che tu salvi una serie di file diversi nel tuo file system. Ciascuno di questi file verrà archiviato in un cluster di settori contiguo. Successivamente, aggiorni uno dei file che hai salvato originariamente, aumentando le dimensioni del file. Il file system tenterà di memorizzare le nuove parti del file proprio accanto alle parti originali. Sfortunatamente, se non c'è abbastanza spazio ininterrotto, il file deve essere diviso in più parti: tutto questo avviene in modo trasparente per te. Quando il tuo disco rigido legge il file, le sue testine devono passare da una posizione fisica all'altra del disco rigido per leggere ogni blocco di settori: questo rallenta le cose.
La deframmentazione è un processo intenso che sposta i bit di file per ridurre la frammentazione, assicurando che ogni file sia contiguo sull'unità.
Ovviamente, questo è diverso per le unità a stato solido, che non hanno parti mobili e non dovrebbero essere deframmentate: la deframmentazione di un SSD ne ridurrà effettivamente la durata. E, nelle ultime versioni di Windows, non devi preoccuparti di deframmentare i tuoi file system: Windows lo fa automaticamente per te. Per ulteriori informazioni sulle best practice per la deframmentazione, leggi questo articolo:
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 l'ultima volta per impostazione predefinita 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, viene salvato il più vicino possibile all'inizio del disco. Quando salvi un secondo file, lo salva subito dopo il primo file, e così via. Quando le dimensioni dei file originali aumentano, diventeranno sempre frammentati. Non c'è spazio nelle vicinanze in cui crescere.
Il più recente file system NTFS di Microsoft, che si è fatto strada sui PC consumer con Windows XP e 2000, cerca di essere un po 'più intelligente. Assegna più spazio libero "buffer" intorno ai file sull'unità, sebbene, come qualsiasi utente Windows può dirti, i file system NTFS continuano a diventare 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 ext2, ext3 ed ext4 di Linux - ext4 è il file system utilizzato da Ubuntu e dalla maggior parte delle altre distribuzioni Linux correnti - alloca i file in modo più intelligente. Invece di posizionare più file uno vicino all'altro sul disco rigido, i file system Linux distribuiscono file diversi su tutto il disco, lasciando una grande quantità di spazio libero tra di loro. Quando un file viene modificato e deve essere ingrandito, di solito c'è molto spazio libero per la crescita del file. Se si verifica la frammentazione, il file system tenterà di spostare i file per ridurre la frammentazione durante il normale utilizzo, senza la necessità di un'utilità di deframmentazione.
A causa del modo in cui funziona questo approccio, inizierai a vedere la frammentazione se il tuo file system si riempie. Se è pieno al 95% (o anche all'80%), inizierai a vedere una certa frammentazione. Tuttavia, il file system è progettato per evitare la frammentazione durante il normale utilizzo.
Se hai problemi con la frammentazione su Linux, probabilmente avrai bisogno di un disco rigido più grande. Se hai effettivamente 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 nuovamente i file sulla partizione. Il file system allocherà in modo intelligente i file mentre li copi nuovamente sul disco.
È possibile misurare la frammentazione di un file system Linux con l'estensione comando fsck - cerca "inode non contigui" nell'output.