Il  Filesystem - Parte prima

 

 

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:

 

 

FAT16  

 

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:

Per es. supponiamo che  in una Table Directory sono registrati i file A con inizio nel cluster 3 e B con inizio nel cluster 5.  La porzione di FAT si presenterebbe come in figura

 

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. 

 

FAT32

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