prof. Nunzio Brugaletta |
atapSO |
EnneBi –
Computer Science
Avanti – Indietro – Inizio
Linux può gestire diversi file system, ma quello assunto per default e che può essere considerato il file system nativo è il cosiddetto Second Extended Filesystem, più brevemente ext2, introdotto nel 1994. Si tratta di un block based filesystem, termine usato per indicare il fatto che la gestione dello spazio su disco è attuata facendo uso dei cosiddetti Block Group di cui sarà esaminata la composizione.
|
La prima struttura presa in considerazione è quella con la quale ha più contatto l'utente: la directory. Si tratta di un file particolare che contiene una tabella nella quale, in sintesi, sono registrati i nomi dei file e delle sottodirectory in essa contenuti. Associato ad ognuna delle voci della tabella è conservato il numero dell'i-node (index-node) del file. Si tratta di un puntatore ad un elemento della tabella degli i-node. |
|
Ad ogni file è associata una struttura (l'i-node) che contiene i metadati del file (descrizioni dei dati del file) fra cui, per esempio, proprietario, gruppo, diritti, dimensione del file. Ci sono poi una serie di riferimenti ai blocchi fisici che contengono i dati. Detti riferimenti possono essere indiretti, cioè riferimenti a blocchi che contengono a loro volta riferimenti a blocchi fisici. In questo modo si possono referenziare anche file di grosse dimensioni. |
L'allocazione dello spazio su disco avviene per blocchi e diversi
blocchi vengono accorpati a formare un block group.
Ogni gruppo registra i file e i loro metadati in tracce del disco
contigue. Ogni partizione del disco è formata da un boot block
che registra informazioni importanti di gestione del file system e,
se è il disco di boot, sul boot stesso. Seguono i block group in
quantità dipendente dalle dimensioni del supporto. Il file system
vero e proprio è costituito dalla sequenza dei gruppi.
Ogni singolo block group è composto da:
Super block. Contiene le informazioni di base del file system come la dimensione dei blocchi, numero file, identificativo del tipo di file system (magic number). Il super block usato è quello registrato nel blocco 0, ma le informazioni presenti vengono ricopiate in tutti i super block per ragioni di sicurezza.
Descrittori di gruppi. Anche questa è una informazione copiata in tutti i gruppi e conserva informazioni sull'identificazione di data block, data block liberi.
Block e i-node bitmap. Strutture usate dal kernel per la gestione di blocchi e indici.
I-node table. I metadati associati ad ogni file: quello che serve per conoscere tutte le caratteristiche ad esso associate.
Data blocks. I blocchi con il contenuto vero e proprio dei file.
http://ennebi.solira.org |
ennebi@solira.org |