Perché Linux non ha bisogno di deframmentare
Se sei un utente Linux, probabilmente hai sentito che non hai bisogno di deframmentare i tuoi file system Linux. Noterai inoltre che le distribuzioni Linux non vengono fornite con utilità di deframmentazione del disco. Ma perché è così?
Per capire perché i file system Linux non hanno bisogno di deframmentazione nell'uso normale - e quelli di Windows lo fanno - dovrai capire perché si verifica la frammentazione 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, credono che la deframmentazione dei loro file system possa velocizzare 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à.
Naturalmente, questo è diverso per le unità a stato solido, che non hanno parti in movimento e non devono essere deframmentate - la deframmentazione di un SSD ne ridurrà effettivamente la durata. E, sulle ultime versioni di Windows, non devi preoccuparti di deframmentare i tuoi file system - Windows lo fa automaticamente per te. Per ulteriori informazioni sulle migliori pratiche 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 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 su PC consumer con Windows XP e 2000, cerca di essere un po 'più intelligente. Alloca più spazio libero "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.
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 addirittura all'80%), inizierai a vedere qualche frammentazione. Tuttavia, il file system è progettato per evitare la frammentazione nell'uso normale.
Se hai problemi con la frammentazione su Linux, probabilmente hai bisogno di un hard disk più grande. Se hai davvero 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.
Puoi misurare la frammentazione di un file system Linux con il comando fsck - cerca "inodi non contigui" nell'output.