Google+ Quarta Info B

domenica 12 maggio 2013

FILESYSTEM INODE

Un inode, solitamente utilizzato nei filesystem Unix, non è altro che una struttura di dati.
I filesystem inode (index node) consentono di creare dei blocchi con funzioni particolari sul disco, i quali gruppi di questi blocchi formano gli inode. Con questi filesystem, ogni file avrà un inode associato, con questo metodo però si rischia che i file superino il numero di inode disponibili. Nella directory radice (/) sarà presente una lista dove troveremo i riferimenti agli inode, che a loro volta punteranno a un file specifico.



Ogni inode è una serie di bit, che devono essere suddivisi per essere spartiti ad ogni informazione associata al file:

Un inode stesso può essere una struttura di inode, cioè può contenere dei riferimenti ad altri inode di livello più basso. Per capire meglio osserviamo questo schema:

Come si può notare con questo metodo, si riesce ad ovviare al problema di avere dei file troppo grandi  e un numero troppo basso di inode, creando appunto vari riferimenti e collegamenti fra gli inode.
Proviamo a fare un esercizio per capirne ancora meglio il meccanismo:

Indirezione tra gli inode:
L'inode che contiene elementi di una directory, verrà chiamato di livello -1. Chiameremo di livello -2 un inode con informazioni di una cartella che a sua volta punta ad un inode di livello -1. Ed infine di livello 0 l'inode che verrà puntato dagli inode di livello -1, proprio come una gerarchia a più livelli.s

FILESYSTEM FAT

Il filesystem FAT è uno dei primi della storia, venne utilizzato dalle prime versioni di winzozz da zio Bill. Questo si appoggia su una tabella apposita denominata FAT che contiene le informazioni che riguardano i file presenti su disco  ed i loro settori.
La FAT è la tabella dove troviamo le informazioni su quali settori sono allocati e a chi sono assegnati. Quando un elemento della FAT (File Allocation Table) punta a se stesso significa che quello è l'ultimo elemento della tabelle; questo ricorda molto il principio che sta alla base delle liste concatenata nelle quali troviamo però come ultimo elemento il NULL(cioè vuoto). Quando invece troviamo un elemento non nullo nella FAT, significa che il settore successivo sarà quell'elemento stesso. Oltre alla FAT, in questo tipo di filesystem è necessario conoscere anche la directory radice (/), la quale contiene tutti i file e il percorso associato. Inoltre è necessario sapere se il file preso in considerazione è veramente un file oppure una directory.
Quando viene creato un filesystem FAT, la prima partizione viene dedicata alla omonima tabella, una seconda serve per contenere la directory radice (/) (solitamente di qualche KB) e la terza partizione verrà invece utilizzata come spazio libero disponibile per l'allocazione dei vari file.