Il filesystem è il componente del SO che si gestisce l'organizzazione logica delle informazioni memorizzate sui dispositivi di memoria secondaria , come il disco rigido, il CD o il floppy.
Le funzioni principali del filesystem sono:
I più comuni filesystem sono:
E' stato introdotto nel 1987 per il DOS 3.31 e successivamente adottato da
Windows fino alla prima edizione di Windows95.
Gli elementi che compongono questo filesystem sono:
Il filesystem non utilizza il settore come unità di allocazione, ma il cluster,
cioè un
gruppo di n settori (n = 2, 4, 8, 16, 32).
La Tabella della Partizione
Si trova nel boot sector della partizione stessa e contiene le informazioni sulla partizione.
I campi più importanti sono:
La Tabella della Directory
La Directory Table contiene informazioni sui file e le sottodirectories di una directory. La Directory Table più importante è la root directory, composta da max 512 entries di 32 bytes, che descrive il contenuto della directory principale (occupa 32 settori). Ogni entry descrive un file o una directory mediante le seguenti informazioni:
Le prime due entry della root directory si riferiscono ai file IO.SYS e MSDOS.SYS (se
presenti), i due file che contengono il kernel del DOS.
La File Allocation Table
La FAT è una tabella che permette di accedere ai files individuando i cluster occupati. L’indice della tabella
rappresenta il numero di cluster, il contenuto è il numero del successivo
cluster occupato da un dato file.
Poichè la FAT è il “cuore” del filesystem, per sicurezza essa viene duplicata per
proteggerla da cancellazioni o danneggiamenti accidentali
Le prime due entry della FAT non sono utilizzate e contengono dei codici fissi, le altre entry possono contenere:
Il numero dei settori per cluster va da due (1K) a 64 (32K) il che comporta
una dimensione massima di 2G pewr una partizione. L’uso di cluster
con molti settori però spreca spazio su disco. Per es. se un cluster occupa 64
settori cioè 32K, un file anche se di pochi byte occuperà sempre 32K.
Per superare gli inconvenienti il filesystem FAT16 è stato sostituito nel
1996 da FAT32 che introduce una File Allocation Table con entry a 32 bit, di
cui in realtà ne utilizza 28. FAT32 può
usare perciò cluster di dimensioni più piccole e utilizzare così più
efficienza lo spazio su disco.
Altra innovazione è che la root
directory table può avere un numero qualsiasi di entries e può essere allocata ovunque nella partizione.
Infine è possibile assegnare a file e directory nomi lunghi (fino a 255
caratteri).
Il filesistem FAT presenta grosse limitazioni in fatto di
efficienza e sicurezza . La ricerca di cluster liberi deve essere
effettuata scandendo la FAT e la stessa cosa deve fare per calcolare lo
spazio libero.
Ai file o alle directory non è associata nessuna lista d'accesso che stabilisca
i diritti d'accesso degli utenti