[Tech] Re: tech digest, Vol 1 #560 - 8 msgs

Gianni Casalini gianni@elenet.it
Lun 18 Mar 2002 10:36:41 CET


On Thursday 14 March 2002 06:29, you wrote:
> --__--__--
>
> Message: 6
> Date: Thu, 14 Mar 2002 00:04:28 +0100
> From: Gabriele Grilli <grilligab@tiscalinet.it>
> To: tech@firenze.linux.it
> Subject: [Tech] File System Ext2
> Reply-To: tech@firenze.linux.it
>
> 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).
>
> Una "entita' file" e' un file (comunemente detto), una directory,
> uno special file oppure
> un link, simbolico o fisico. Ho scelto questo termine perche' con
> file si intende, troppo spesso,
> quegli oggetti che contengono dei dati, escludendo le directory.
>
> In base a quanto detto, l'INode contiene tutte le info relative a
> ciascuna EF :
> tipo di EF
> data di creazione/Modifica,
> dimensione,
> permessi
> indirizzi dei blocchi contenenti le informazioni dell'EF
> e altre informazioni.
>
> L'INode e EF sono collegati mediante relazioni,
> volendo fare un paragone con i database: le EF stanno in relazione
> 1-1 con gli INode,
> viceversa gli INode stanno in relazione 1-N con le EF questo per
> dire che a nomi diversi di
> file, per esempio puo' corrispondere lo stesso INode e quindi gli
> stessi dati.
>
> A questo punto si puo' fare una panoramica di alcune strutture dati
> che servono a EXT2:
> 1) bitmap degli INode: indica quali sono liberi e quali occupati.
> Questo implica che abbiamo una limitazione nel FS data dal numero
> massimo di INode
> 2) Tabella degli INode : contiene le informazioni relative a
> ciascuna EF, in base alla
> bitmap degli INode possiamo sapere quali sono usati e quali no.
> 3) spazio dati : spazio riservato alla memorizzazione di dati.
> 4) Un SuperBlock che e' una tabella a sua volta contenente, fra i
> vari campi,
> l'INode della directory "/"
>
> Quello che vorrei sottolineare e' che ogni INode ha gli indirizzi
> dei blocchi contenenti le informazioni
> dell'EF e percio' l'INode puo' accedere a tali informazioni che,
> possono essere viste come sequenza di byte.
> Tali informazioni quindi possono venire processate in un modo
> oppure in un altro a seconda del tipo di EF
> a cui l'INode si riferisce.
> Un file di testo, usera' tali informazioni come sequenza di
> caratteri, spetta all'utilizzatore usare la giusta
> applicazione per aprirlo, infatti usando un editor di immagini non
> si otterrebbe la semantica corretta
> cioe' il giusto significato dei dati.
> Una directory usera' tali informazioni, una di seguito all'altra,
> secondo lo specifico formato indicato di seguito:
> <INode relativo a EF1><Lunghezza del Nome EF1 + 1><Nome EF1>
> <INode relativo a EF2><Lunghezza del Nome EF2 + 1><Nome EF2>
> <INode relativo a EF3><Lunghezza del Nome EF3 + 1><Nome EF3>
> Di solito le prime due voci si riferiscono alle directory "." e
> ".." quindi non sono altro che dei collegamenti a se stessi e al
> padre. Se noi analizzassimo tali informazioni con un editor di
> immagini otterremmo lo stesso risultato errato come nel
> caso precedente.
> In entrambi i casi modificare tali informazioni porta ad avere dei
> dati incomprensibili e, soprattutto nel secondo caso
> ad un danneggiamento dei file dentro la directory.
>
> BIBLIOGRAFIA
>
> [1] Per chi vuol sapere tutto --> The Linux Kernel -
> http://www.linuxdoc.org/LDP/tlk/tlk.html
> [2] Per chi vuole un'infarinatura --> Struttura di un sistema
> Linux: il file system ed il kernel  -
> http://www.ctt.it/linuxware/corsoprog.html
>
>
>
> Piu' avanti il discorso proseguira' con la differenza fra Ext2 e
> VFS, distinzione fra le varie EF.
> Quello che pensavo era di scrivere questi appunti per fare delle
> dispense per il sito, relative al corso " Struttura di un
> sistema Linux: il file system" dato che ancora manca.




Maggiori informazioni sulla lista flug-tech