[Linux-Biella] Frammentazione file
Luca Gentile
esalazionehg a email.it
Mer 11 Maggio 2011 13:16:50 CEST
Il giorno Tue, 10 May 2011 22:51:32 +0200
Jumping Jack <jumpingjack a mclink.it> ha scritto:
> Come viene gestita la frammentazione dei file su Linux? Perchè si
> dice che non serve deframmentare?
>
> JJ
quando tempo fa mi feci questa domanda provai a cercarmi la risposta da
solo su gugol. e gugol rispose.
quanto ho letto io lo riassumo qui in maniera non tecnica e non
ineccepibile.
l'ntfs, oltre ad avere una tabella partizioni più ingombrante, quando
viene letto da W$, così come il FAT, quest'ultimo aggiunge dei file
nella partizione per facilitarsi la lettura. a parte questo ecco la
grande differenza:
l'ntfs è stupido. ossia: non sa che esiste la terza dimensione e tratta
i cilindri dell'hd come fosse una spirale, ossia un array di lunghezza
pari alla spirale che percorre il cilindro, il tutto approssimato, per
ovvi motivi puramente geometrici. in questo modo ad un blocco risultano
adiacenti solo 2 blocchi, il precedente ed il successivo e quando viene
allocato un file vengon presi in considerazione blocchi che sono
sequenziali, NON fisicamente vicini.
cosa intendo per fisicamente vicini? e qui arriviamo ai fs tipo ext.
questi si scrivono i dati relativi alla geometria dei cilindri e li
trattano come tali. viva la terza dimensione. in questo modo il cilindro
viene sviluppato in una matrice rettangolare, e qui arriviamo al
concetto di "fisicamente vicino". come comprensibile, ad un blocco
risultano adiacenti 8 blocchi, in questo modo quando il sistema alloca
dello spazio considera una zona di 9 blocchi, uno centrale ed i suoi 8
blocchi adiacenti, mentre con l'ntfs si considera un blocco e i suoi 2
successivo-precedente.
mi pare chiaro che siamo in un rapporto 9 a 3. la frammentazione è al
quadrato su un fs ntfs.
non so se ubuntu segue ancora la filosofia GNU/linux per quanto
riguarda la gestione dei fs, ma su debian ogni 30 mount [cifra
modificabile e disattivabile] di una partizione, durante il boot fa un
fsck di controllo alla ricerca di eventuali errori o di frammentazioni
eccessive. al termine risponde con un "0x.x% file non-contiguous" [si,
la prima cifra è praticamente sempre uno 0 :P ].
prova a dare un 'man fsck' e leggi cosa fa, come usarlo, ecc.
ps: quanto scritto sopra è relativo all'ntfs di qualche tempo fa. non
so se ora è stato modificato.
Maggiori informazioni sulla lista
Linux