La Master File Table
Il centro di comando del file system NTFS è la MFT. Essa è analoga alla file allocation table nel file system FAT perché MFT mappa tutti i file e le directory sul disco, inclusi i metadata files dell’NTFS stesso. La MFT è divisa in unità discrete chiamate records. In uno o più record, NTFS registra i metadati che descrivono un file o le caratteristiche di una direcory (informazioni sulla sicurezza e altri attributi come sola lettura o nascosto) e la loro locazione sul disco. Sorprendentemente la MFT è un file che NTFS mappa usando dei record all’interno della MFT stessa. Questa struttura lascia la possibilità alla MFT di espandersi oppure di restringersi.
NTFS internamente identifica i file e le directory usando la loro posizione del record che descrive l’inizio dei loro metadati all’interno della MFT. Per esempio, i file metadata che compaiono nella Tabella 1 hanno un preassegnato indirizzo di partenza (base) per il record che li identifica nella MFT.
I record sono solitamente di dimensione 1Kb in un disco formattato con Windows NT 4.0, ma possono essere anche più grandi.
Il file $MFTMIRR è un file di complemento, in caso di disastri al file system, per la prevenzione di perdita di dati. Esso contiene la copia dei primi 16 record della MFT. NTFS lo registra a metà del disco circa mentre la MFT è all’inizio dello stesso. Se NTFS ha un problema nella lettura di MFT, esso si riferisce ad un duplicato. La locazione della MFT e della sua copia sono registrate nel boot record del disco, un file da 512 bytes posto all’inizio del disco stesso.
L’accesso ai dati della MFT gioca un ruolo base sul discorso performance su un disco NTFS, così NTFS cerca delle soluzioni per accedere alla MFT in modo più rapido possibile. Dato che la MFT è un file residente su volume NTFS esso può ingrandirsi e rimpicciolirsi e quindi frammentarsi. Questa frammentazione si verifica perché NTFS non può allocare in anticipo lo spazio che la MFT occuperà. Quando la MFT cresce e qualche altro file occupa lo spazio oltre la sua fine, la MTF deve guardare altrove sul disco per avere dello spazio libero.
L’accesso più veloce si realizza quando vengono fatte delle operazioni sul disco in maniera sequenziale ma, una MFT frammentata significa che NTFS ha bisogno di più letture per accedere, ad esempio, ad un record e questo può portare ad un abbassamento delle performance. Per evitare questo, NTFS crea una regione di cluster attorno alla fine della MFT dove file e directory non possono essere memorizzati. In questo modo si dà la possibilità alla MFT di crescere e/o ridursi senza troppe difficoltà. Quando lo spazio libero sul disco comincia a scarseggiare, NTFS rilascia un po’ dello spazio attorno alla fine della MFT per altri usi. Questo però porta la MFT ad correre un grosso rischio di frammentazione in un disco che peraltro è già al limite delle sue capacità. C’è da dire inoltre che NTFS non lascia deframmentare a tool appositi la MFT.
(
http://www.dimi.uniud.it/~giorgio/dida/docs/buffon.html)