1. Cos'è la FAT (File Allocation Table)?
La File Allocation Table (FAT) è una delle architetture di file system più storiche e longeve, originariamente sviluppata da Microsoft per i sistemi operativi MS-DOS. La sua caratteristica principale è l'utilizzo di un'unica tabella centrale che mappa l'intera struttura dei dati presenti sul disco, indicando come i file sono suddivisi e concatenati all'interno dei blocchi di memoria chiamati cluster.
2. Come Funziona l'Allocazione a Tabella
Nel file system FAT, lo spazio di archiviazione del disco viene suddiviso in unità di allocazione fisse denominate cluster:
- Directory Entry: La directory memorizza il nome del file, la dimensione e il numero del primo cluster in cui iniziano i dati del file.
- La Tabella FAT: Per trovare i cluster successivi, il sistema operativo consulta la tabella FAT usando l'indice del cluster corrente. Il valore memorizzato in quell'indice rappresenta il numero del cluster successivo, formando di fatto una linked list (lista concatenata) numerica.
- Marcatori Speciali: La tabella utilizza codici speciali per indicare la fine della
catena (EOF - End Of File, es.
0xFFFin FAT16 o0x0FFFFFFFin FAT32) oppure se un cluster è danneggiato o libero.
- FAT12: Utilizza indirizzi a 12 bit (usato storicamente nei floppy disk).
- FAT16: Utilizza indirizzi a 16 bit, supportando partizioni fino a un massimo di 2 GB (o superiori con cluster più grandi).
- FAT32: Utilizza indirizzi a 32 bit (effettivamente 28 bit utilizzabili), superando i limiti di dimensione e offrendo una gestione più efficiente dello spazio su partizioni di grandi dimensioni.
3. Vantaggi e Svantaggi
Tra i principali vantaggi della FAT figurano la semplicità strutturale e l'elevata compatibilità multipiattaforma (chiavette USB, schede SD, sistemi embedded). Di contro, soffre di problemi di frammentazione dei file nel tempo, assenza nativa di permessi di sicurezza avanzati a livello di file system e vulnerabilità della tabella stessa (motivo per cui storicamente veniva mantenuta una copia di backup della FAT sullo stesso disco).
4. Simulatore Interattivo: Navigazione della Tabella FAT
Seleziona un file di esempio per simulare la lettura della tabella FAT e seguire la catena dei cluster allocati sul disco.