File System - Allocazione dei file

Tecniche di memorizzazione dei files da parte del sistema operativo- Allocazione contigua - Allocazione non contigua (2 Pag - Fomato Word) (0 pagine formato doc)

FILE SYSTEM - Allocazione dei file FILE SYSTEM - Allocazione dei file I file sono implementati dal sistema operativo con tecniche diverse per ciò che riguarda la loro memorizzazione sul disco .
I metodi maggiormente utilizzati sono : allocazione contigua allocazione non contigua L'allocazione non contigua può essere a sua volta concatenata indicizzata In ogni caso i file sono memorizzati a partire dall'inizio di un blocco e occupano quindi un numero intero di blocchi. Si ricordi che gli indirizzi su disco crescono attraverso i blocchi di una traccia, poi attraverso le tracce di un cilindro, e infine dal cilindro 0 al cilindro n-1 (se n sono i cilindri del disco). Allocazione contigua Si assegna ad un file un'area contigua sulla memoria di massa, ossia un insieme di blocchi che hanno indirizzi contigui.
Il file system gestisce una tabella che per ogni file, specifica il nome, l'indirizzo di inizio e la lunghezza (ad esempio in numero di blocchi). Quando viene creato un file da allocare in modo contiguo, deve essere dichiarata anche la sua lunghezza in modo che il file system possa creare su disco un'area contigua sufficiente a contenerlo. Quando un file viene cancellato, l'area che esso occupava diventa libera ma può esservi allocato un nuovo file solo se quest'ultimo ha dimensioni tali da potervi essere contenuto. Possiamo avere allora la situazione in cui ci sono tante aree libere, nessuna sufficiente per l'allocazione del nuovo file, mentre globalmente ci sarebbe abbastanza spazio libero. Ritroviamo il problema della frammentazione, in questo caso “esterna”, che può essere eliminato con un'operazione di compattamento. Il compattamento del disco può essere realizzato con particolari comandi che copiano i file uno di seguito all'altro (Defrag). Questo tipo di allocazione rende particolarmente semplice il reperimento di un record sia nell'accesso sequenziale che in quello casuale. Allocazione non contigua - Lista concatenata dei blocchi di un file In questo caso il file viene memorizzato in blocchi sparsi non necessariamente contigui, e la contiguità logica del file viene mantenuta tramite dei puntatori che collegano tra loro i blocchi occupati dal file. In ogni blocco è memorizzato il puntatore al blocco successivo. Con un'allocazione di questo tipo non è necessario dichiarare la lunghezza di un file