prof. Nunzio Brugaletta

atapSO

EnneBi – Computer Science
AvantiIndietroInizio




Il filesystem di Linux: ext2

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.

struttura directory

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.

struttura 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.

block group


Ogni singolo block group è composto da:




AvantiIndietro - Inizio

http://ennebi.solira.org

ennebi@solira.org