8
17-05-2012 1 11.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Struttura dei File Unitaʼ logica di memorizzazione Collezione di informazioni correlate File control block (inode) – struttura dati per le informazioni principali riguardanti un file Fle system risiede in memoria secondaria (dischi) Organizzazione a livelli 11.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 11.4 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 4

ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

1!

11.2! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Struttura dei File!  Unitaʼ logica di memorizzazione!  Collezione di informazioni correlate!

  File control block (inode) – struttura dati per le informazioni principali riguardanti un file!

  Fle system !  risiede in memoria secondaria (dischi)!  Organizzazione a livelli!

11.3! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005! 11.4! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005! 4

Page 2: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

2!

11.5! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005! 5 11.6! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

11.7! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Tabella dei volumi/dispositivi montati!  Struttura delle directory !

  Dati relativi a directory cui si eʼ fatto accesso di recente!  Tabella dei file aperti di sistema!

  Control block per ciascun file aperto!  Tabella dei file aperti per processo!

11.8! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

Page 3: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

3!

11.9! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Lista Lineare di nomi di file con puntatori ai blocchi dei dati.!  Semplice da programmare!  Lenta!

  Tabella Hash – lista lineare con struttura dati hash.!  Basso tempo di ricerca!  Problema delle collisioni – due o più nomi di file “hashed”

nella stessa locazione!  Taglia fissa!

11.10! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Per metodo di allocazione si intende il modo in cui i blocchi del disco sono allocati ai file:!

  Allocazione contigua!

  Allocazione concatenata!

  Allocazione indicizzata!

11.11! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Ogni file occupa un insieme di blocchi del disco contigui!

  Semplice – solo la locazione (blocco #) iniziale e la lunghezza (numero di blocchi) devono essere memorizzate

  Accesso diretto

  Spreco di spazio (problemi con lʼallocazione dinamica)

  Non è possibile aumentare la dimensione di un file!

11.12! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Funzione di mappatura logico/fisico!

LA/512!

Q!

R!

Blocco desiderato = Q + starting address Scostamento all’interno del blocco = R

Page 4: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

4!

11.13! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005! 11.14! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Schema modificato di allocazione contigua!

  I blocchi sono allocati a gruppi detti estensioni (extent)!

  Unʼestensione è una collezione di blocchi contigui!  Un file consiste di una o più estensioni, non necessariamente

contigue.!

11.15! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Ogni file è un lista concatenata di blocchi!  tali blocchi possono essere distribuiti ovunque sul disco.!

puntatore!blocco =!

11.16! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Semplice – solo i blocchi iniziale e finale vanno memorizzati!  Sistema di gestione dello spazio libero – nessuno spreco !  Accesso diretto/random difficile da implementare!  Sistema di traduzione logico/fisico!

Q: numero del blocco nella lista concatenata di blocchi per il file!

R: Scostamento nel blocco!

! Alternativa: File-allocation table (FAT)!! ! – metodo di allocazione dello spazio usato da MS-DOS e OS/2.!

LA/511!Q!

R!

Page 5: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

5!

11.17! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005! 11.18! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

11.19! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Mantiene insieme tutti i puntatori ai blocchi in un blocco indice.!  Vista logica:!

index table!

11.20! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

Page 6: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

6!

11.21! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Necessita di una tabella indice!  Possibilità di accesso diretto/random!  Assenza di frammentazione esterna, ma possibile overhead

nel blocco indice.!  Per un file di taglia massima pari a 256K parole e blocchi di

taglia pari a 512 words, cʼè bisogno di un solo blocco per mantenere lʼindice.!

LA/512!Q!

R!

Q = scostamento nella tabella indice!R = scostamento nel blocco!

11.22! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Per un file di taglia illimitata e dimensione dei blocchi pari a 512:!  Tabella indice implementata con lista concatenata

(taglia illimitata).!

LA / (512 x 511)!Q1!

R1!Q1 = blocco della tabella indice!R1 usato come segue:!

R1 / 512!Q2!

R2!

Q2 = scostamento nel blocco della tabella indice!R2 scostamento nel blocco del file:!

11.23! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Indice a 2 livelli (taglia massima di un file 5123)!

LA / (512 x 512)!Q1!

R1!

Q1 = scostamento nellʼindice esterno!R1 usato come segue:!

R1 / 512!Q2!

R2!

Q2 = scostamento nel blocco della tavola indice!R2 scostamento nel blocco del file:!

11.24! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

!

outer-index!

index table! file!

Page 7: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

7!

11.25! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005! 11.26! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Bit vector (n blocchi)!

…!

0! 1! 2! n-1!

bit[i] =!

!

1 ⇒ block[i] free!

0 ⇒ block[i] occupied!

Calcolo dellʼindice del primo blocco libero!

(number of bits per word) *!(number of 0-value words) +!offset of first 1 bit!

11.27! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Lo schema a Bit map può richiedere spazio eccessivo!  Es.:!

! !block size = 212 bytes!! !disk size = 230 bytes (1 gigabyte)!! !n = 230/212 = 218 bits (or 32K bytes)!

  È facile cercare spazi di memoria contigua !  Lista concatenata (free list)!

  Difficile trovare spazi di memoria contigua!  Ma non cʼè spreco di spazio!

  Raggruppamento!  Un blocco contiene gli indirizzi di n blocchi liberi !

  Conteggio!  Indirizzo del primo libero e del numero di liberi consecutivi!

11.28! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Problemi !  Bit map!

 Consistenza tra la copia sul disco e quella in memoria!

–  block[i] : bit[i] = 1 in memoria e bit[i] = 0 su disco !

Page 8: ch11 - UNISAcicalese/SO/2012/FileSystem2.pdf17-05-2012! 1! Operating System Concepts – 7th Edition, Jan 1, 2005! 11.2! Silberschatz, Galvin and Gagne ©2005! Struttura dei File!

17-05-2012!

8!

11.29! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005! 11.30! Silberschatz, Galvin and Gagne ©2005!Operating System Concepts – 7th Edition, Jan 1, 2005!

  Lʼefficienza dipende da:!  Algoritmi di allocazione del disco e delle directory!  Informazioni mantenute negli elementi delle directory

  Performance!  disk cache!  free-behind and read-ahead – tecniche di ottimizzazione degli

accessi!  Uso di sezioni di memoria per implementare dischi virtuali o

dischi ram!