La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Silberschatz, Galvin and Gagne 2002 12.1 Operating System Concepts Realizzazione del file system Struttura del file system Metodi di allocazione Gestione.

Presentazioni simili


Presentazione sul tema: "Silberschatz, Galvin and Gagne 2002 12.1 Operating System Concepts Realizzazione del file system Struttura del file system Metodi di allocazione Gestione."— Transcript della presentazione:

1 Silberschatz, Galvin and Gagne Operating System Concepts Realizzazione del file system Struttura del file system Metodi di allocazione Gestione dello spazio libero Realizzazione delle directory Efficienza e prestazioni Ripristino

2 Silberschatz, Galvin and Gagne Operating System Concepts Struttura del file system Struttura di file: Unità di memorizzazione logica; Unità di memorizzazione logica; Collezione di informazioni correlate. Collezione di informazioni correlate. Il file system risiede nella memoria secondaria (dischi). Il file system viene organizzato secondo livelli (stratificato). File control block File control block: struttura di memorizzazione che mantiene le informazioni sui file. File system stratificato File control block

3 Silberschatz, Galvin and Gagne Operating System Concepts Metodi di allocazione La natura di accesso diretto dei dischi garantisce flessibiltà nellimplementazione dei file. Problema: allocare lo spazio disco ai file in modo da avere spreco minimo di memoria e rapidità di accesso. Il metodo di allocazione dello spazio su disco descrive come i blocchi fisici del disco vengono allocati ai file: Allocazione contigua Allocazione contigua Allocazione concatenata Allocazione concatenata Allocazione indicizzata Allocazione indicizzata

4 Silberschatz, Galvin and Gagne Operating System Concepts Allocazione contigua Ciascun file occupa un insieme di blocchi contigui sul disco. Per reperire il file occorrono solo la locazione iniziale (# blocco iniziale) e la lunghezza (numero di blocchi). Accesso casuale. Spreco di spazio: frammentazione esterna (problema dellallocazione dinamica della memoria). I file non possono crescere. Extent Extent : nei nuovi SO, il disco vie- ne allocato con granularità > della dimensione del blocco fisico. Cia- scun file consiste di uno o più extent (di dim. variabile ed even- tualmente definita dallutente).

5 Silberschatz, Galvin and Gagne Operating System Concepts Allocazione concatenata Ciascun file è una lista concatenata di blocchi su disco: i blocchi possono essere sparsi ovunque nel disco. Richiede lindirizzo del blocco iniziale. Sistema di gestione dello spazio libero: non si ha spreco di spazio. Non è possibile laccesso casuale. puntatore blocco = Mappatura da indirizzi logici a indirizzi fisici: LA/511= (Q,R) Il bocco da accedere è il Q–mo Il bocco da accedere è il Q–mo nella catena di blocchi che nella catena di blocchi che costituiscono il file. costituiscono il file. Spostamento nel blocco = R + 1. Spostamento nel blocco = R + 1.

6 Silberschatz, Galvin and Gagne Operating System Concepts File–Allocation Table File–allocation table File–allocation table (FAT ) utilizzata da MS–DOS e OS/2. La FAT è una tabella con un elemento per ogni blocco del disco, indicizzata dal numero di blocco. La FAT consente la memorizzazione localizzata dei puntatori (non sparsa).

7 Silberschatz, Galvin and Gagne Operating System Concepts Allocazione indicizzata blocco indice Colleziona tutti i puntatori in un unico blocco indice. Richiede una tabella indice. Accesso casuale. Permette laccesso dinamico senza frammentazione esterna; tuttavia cè il sovraccarico temporale di accesso al blocco indice. Tabella indice Per file di dim. max 256K parole e con dim. di blocco di 512 parole, occorre un solo blocco indice. Mappatura da indirizzi logici a indirizzi fisici: LA/512 = (Q,R) Q spostamento nella tabella Q spostamento nella tabella indice. indice. R spostamento nel blocco. R spostamento nel blocco.

8 Silberschatz, Galvin and Gagne Operating System Concepts Allocazione indicizzata Schema concatenato Mapping fra indirizzi logici e fisici per un file di lunghezza qualunque (dim. blocco 512 word). Schema concatenato Si collegano blocchi della tabella indice (non si ha un limite alla dimensione). LA / (512 x 511) Q1Q1 R1R1 Q 1 = blocco della tabella indice; R 1 impiegato come segue: R 1 / 512 Q2Q2 R2R2 Q 2 = spostamento nel blocco della tabella indice; R 2 spostamento nel blocco del file.

9 Silberschatz, Galvin and Gagne Operating System Concepts Allocazione indicizzata Indice multilivello Indice a due livelli (dim. max del file ) LA / (512 x 512) Q1Q1 R1R1 Q 1 = spostamento nellindice esterno; R 1 impiegato come segue: R 1 / 512 Q2Q2 R2R2 Q 2 = spostamento nel blocco della tabella indice; R 2 spostamento nel blocco del file.

10 Silberschatz, Galvin and Gagne Operating System Concepts Allocazione indicizzata Indice multilivello Indice esterno Tabella indice File

11 Silberschatz, Galvin and Gagne Operating System Concepts Schema combinato: UNIX (4K byte per blocco) Inode di UNIX

12 Silberschatz, Galvin and Gagne Operating System Concepts Gestione dello spazio libero Vettore di bit Vettore di bit (n blocchi) Calcolo del numero del primo blocco libero. Si scorre il vettore, cercando il primo byte diverso da 0. Buone prestazioni se il vettore è conservato in memoria centrale. … 012n -1 bit[i ] = 0 blocco[i ] occupato 1 blocco[i ] libero (numero di bit per parola) * (numero di parole con valore 0) + offset del primo bit a 1

13 Silberschatz, Galvin and Gagne Operating System Concepts Gestione dello spazio libero La mappa dei bit richiede ulteriore spazio. Esempio: dim. blocco = 2 12 byte dim. disco = 2 30 byte (1 gigabyte) n = 2 30 /2 12 = 2 18 bit (o 32K byte) È adatto per gestire file contigui. Lista concatenata Lista concatenata (free list ): Non è facile garantirsi spazio contiguo; Non è facile garantirsi spazio contiguo; Non si spreca spazio. Non si spreca spazio. Raggruppamento Raggruppamento: memorizzazione degli indirizzi di n blocchi liberi sul primo di tali blocchi. Sullultimo sono indirizzati altri blocchi, etc. Conteggio Conteggio: si indica un blocco libero, e da quanti altri blocchi liberi (contigui) è seguito.

14 Silberschatz, Galvin and Gagne Operating System Concepts Gestione dello spazio libero È necessario proteggere: Puntatore alla lista dei blocchi liberi; Puntatore alla lista dei blocchi liberi; Mappa di bit: Mappa di bit: Deve essere mantenuta sul disco; Deve essere mantenuta sul disco; Le copie in memoria e sul disco possono differire; Le copie in memoria e sul disco possono differire; Non si può permettere per blocco[i ] che bit[i ] = 1 in memoria e bit[i ] = 0 su disco. Non si può permettere per blocco[i ] che bit[i ] = 1 in memoria e bit[i ] = 0 su disco. Soluzione: Soluzione: Porre bit[i ] = 0 sul disco; Porre bit[i ] = 0 sul disco; Allocare blocco[i ]; Allocare blocco[i ]; Porre bit[i ] = 0 in memoria. Porre bit[i ] = 0 in memoria. Lista dei blocchi liberi

15 Silberschatz, Galvin and Gagne Operating System Concepts Realizzazione delle directory Lista lineare di nomi di file con puntatori ai blocchi di dati. Semplice da implementare Semplice da implementare Esecuzione onerosa (dal punto di vista del tempo di ricerca). Esecuzione onerosa (dal punto di vista del tempo di ricerca). Tabella hash lista lineare con struttura hash. Migliora il tempo di ricerca nella directory; Migliora il tempo di ricerca nella directory; Collisione situazione in cui due nomi di file generano lo stesso indirizzo hash nella tabella; Collisione situazione in cui due nomi di file generano lo stesso indirizzo hash nella tabella; Dimensione fissa. Dimensione fissa.

16 Silberschatz, Galvin and Gagne Operating System Concepts Efficienza e prestazioni Lefficienza dipende da: Tecniche di allocazione del disco e algoritmi di gestione delle directory; Tecniche di allocazione del disco e algoritmi di gestione delle directory; Tipi di dati conservati nellelemento della directory corrispondente al file. Tipi di dati conservati nellelemento della directory corrispondente al file. Prestazioni: Disk cache sezione separata della memoria impiegata per blocchi usati molto spesso; Disk cache sezione separata della memoria impiegata per blocchi usati molto spesso; Free–behind e read–ahead tecniche per ottimizzare laccesso sequenziale; Free–behind e read–ahead tecniche per ottimizzare laccesso sequenziale; Si migliorano le prestazioni dei PC dedicando sezioni della memoria alla funzione di disco virtuale o disco RAM. Si migliorano le prestazioni dei PC dedicando sezioni della memoria alla funzione di disco virtuale o disco RAM. Diverse locazioni di caching del disco

17 Silberschatz, Galvin and Gagne Operating System Concepts Cache di pagina cache di pagina Una cache di pagina memorizza pagine invece che blocchi di disco, utilizzando tecniche di memoria virtuale. LI/O mappato in memoria utilizza cache di pagina. LI/O standard attraverso il file system utilizza la buffer cache del disco. /O senza buffer cache unificata I/O senza buffer cache unificata

18 Silberschatz, Galvin and Gagne Operating System Concepts I/O con buffer cache unificata Una buffer cache unificata utilizza la stessa cache di pagina per memorizzare sia lI/O mappato in memoria che effettuato attraverso file system.

19 Silberschatz, Galvin and Gagne Operating System ConceptsRecupero Verificatore di coerenza confronta i dati nella struttura di directory con i blocchi di dati sul disco, e tenta di fissare le eventuali incoerenze. back up Si impiegano programmi di sistema per copiare (back up ) dati dal disco ad un altro dispositivo di memorizzazione (dischetto, nastro magnetico). Si recuperano file persi o dischi danneggiati ricaricandoli dal back–up.


Scaricare ppt "Silberschatz, Galvin and Gagne 2002 12.1 Operating System Concepts Realizzazione del file system Struttura del file system Metodi di allocazione Gestione."

Presentazioni simili


Annunci Google