[Tech] File System Ext2

Alessio Frusciante algol@tin.it
Gio 14 Mar 2002 13:52:41 CET


Oggi Gabriele Grilli ha scritto:

> PROLOGO
> Un File System (FS) serve per memorizzare delle informazioni su un
> supporto e,
> per fare cio' utilizza delle strutture dati che memorizza nel supporto
> stesso, diviso in blocchi.
> (Su questo ci sono delle dispense del corso reperibili dal sito).
>
> FILE SYSTEM EXT2
> Quanto indicato di seguito si riferisce al FS EXT2 e quindi non varra'
> per gli altri
> che utilizzano altre strutture +/- efficienti e generiche.
>
> INODE e Entita' File
> Un INode e' la struttura, del FS EXT2, dedita a memorizzare le
> informazioni
> di ciascuna "entita' file" (EF).
Secondo me potremmo enucleare dalla descrizione di ext2 alcuni concetti
piu` generali, tra cui appunto quello di inode. Gli inode sono presenti in
molti filesystem unix, tra cui anche ext2, che dal punto di vista della
struttura si ispira a filesystem precedenti.
Quando mi e` capitato di dover spiegare come funzionava a grandi linee un
filesystem ho seguito questa strada:

1) Introdurre il concetto di file (comunemente detto) e di directory.
Eventualmente accennare al fatto che esistono anche entita` piu` esotiche
come link, fifo, device, etc. A questo livello aiuta il classico disegnino
dell'albero, con le directory che contengono file e altre directory, etc.
Questo primo passo puo` anche essere saltato se chi ascolta ha gia` usato
piu` o meno diffusamente un sistema UNIX.
2) Dire che in realta` le directory non contengono fisicamente altre
entita`, ma sono dei file strutturati all'incirca cosi`:

nomefile 1    indice 1
nomefile 2    indice 2

etc.
A che cosa puntano gli indici? Ad una struttura chiamata inode che
contiene sostanzialmente tutti i dati dell'entita` file, tranne il nome, che
e` gia` contenuto nella directory. Si possono descrivere i campi tipicamente
presenti in un inode, la dimensione, il proprietario, i permessi, etc.
3) Parlare di un file system specifico, vedi ext2, e spiegare piu` nel
dettaglio come tutto questo e` implementato.

Tra l'altro secondo me questa strada permette con relativa facilita`
l'introduzione del VFS come interfaccia comune che i filesystem presentano
al resto del kernel.

Ciao
Alessio











Maggiori informazioni sulla lista flug-tech