Un file dotato di una struttura a record di 512 byte ed allocato su un disco caratterizzato da blocchi anch’essi di 512 byte.
Si considerino le tre strategie di memorizzazione del file, contigua, concatenata e indicizzata, e si supponga che le informazioni che riguardano il file (i-node), in ognuno dei tre casi, siano giˆ in memoria centrale.
Si supponga che
L’ultimo record letto dal file il record 3,
Il prossimo record da leggere il record 8.
Per ognuno dei tre casi, si calcoli quanti accessi a disco sono necessari per la lettura del record 8 e si motivi la risposta.
Notiamo innanzitutto, che, date le dimensione di record e blocco sopra specificate, ogni record del file occupa esattamente un blocco del disco. Quindi:
allocazione contigua: 1 accesso alla memoria di massa permetterˆ di reperire direttamente il record 8.
allocazione concatenata: 5 accessi alla memoria, in quanto i record che separano il terzo dall’ottavo devono essere letti sequenzialmente.
allocazione indicizzata: 2 accessi alla memoria, uno al blocco indice, se non presente in memoria centrale, per reperire il puntatore al blocco di dati richiesto, l’altro al blocco di dati.
Si consideri un file formato da 70 record e le sue possibili allocazioni su disco di tipo contigua, concatenata e con tabella indice. In ognuno di questi casi i record del file sono memorizzati uno per blocco.
Le informazioni che riguardano il file sono giˆ in memoria centrale e la tabella indice contenuta in un unico blocco.
Si dica quanti accessi al disco (letture e/o scritture) sono necessari, in ognuna di queste situazioni, per cancellare (eliminare):
1. il primo record
2. il 40-esimo record
3. l’ultimo record
30 accessi in lettura e 30 in scrittura
per cancellare il primo record è necessario modificare il puntatore del blocco di inizio con il valore che si trova nel primo blocco → 1 accesso al disco
Gli i-node di UNIX impiegano indirizzamento di 12 blocchi diretto e 1 indirizzamento indiretto singolo, doppio e triplo per localizzare i blocchi di un file fisico.
Si supponga che ciascun indirizzo occupi quattro byte.
Si calcoli la dimensione del pi grande file che pu˜ essere gestito con questo schema di indirizzamento, per dimensioni dei blocchi di 512, 1024 e 4096 byte.
Blocchi di 512 byte
Indirizzi di 4 byte
512/4 = 128 indirizzi per blocco
Dimensione massima per un file
Blocchi di 1 kbyte
Indirizzi di 4 byte
1024/4 = 256 indirizzi per blocco
Dimensione massima per un file
Blocchi di 4 kbyte
Indirizzi di 4 byte
4096/4 = 1024 indirizzi per blocco
Dimensione massima per un file
Sia dato un file system dove la dimensione del blocco è B=1024 bytes e la dimensione dell’indirizzo di blocco p=2 byte.
Supponiamo che lo schema di allocazione sia indicizzato mediante indirizzamento di
10 blocchi diretti
1 blocco indiretto di primo livello
1 blocco indiretto di secondo livello
1 blocco indiretto di terzo livello
Il byte 300.000 di un file di tale file system si trova in un blocco dati diretto, indiretto, doppiamente indiretto o triplamente indirettoÊ?
Sia dato un file system dove la dimensione del blocco è B=1024 bytes e la dimensione dell’indirizzo di blocco p=2 byte.
Supponiamo che lo schema di allocazione sia indicizzato mediante indirizzamento di
10 blocchi diretti
1 blocco indiretto di primo livello
1 blocco indiretto di secondo livello
1 blocco indiretto di terzo livello
Il byte 300.000 di un file di tale file system si trova in un blocco dati diretto, indiretto, doppiamente indiretto o triplamente indirettoÊ?
Un file in Unix un flusso di bytes contenuti in blocchi del file system.
300000 / 1024 = 292.96 → Il byte 300.000, in un file system di blocchi da 1024 bytes, contenuto nel blocco 293 del file.
Nel file system in oggetto, ogni blocco pu˜ contenere 1024/2 = 512 indirizzi
I primi 10 blocchi (da 0 a 9) di un file sono indirizzati direttamente.
I blocchi da 10 a 521 (9+512) del file sono singolarmente indirizzati.
I blocchi da 522 a (521 + 512*512) sono doppiamente indirizzati.
I blocchi da (521 + 512*512) a (521 + 512*512 + 512*512*512) sono triplamente indirizzati.
Perci˜ il byte 300000, che si trova nel blocco 293 del file, contenuto in uno dei blocchi singolarmente indirizzati (dal 10 al 521).
La File Allocation Table della Microsoft è un esempio di allocazione tabellare dei file. Si determini la dimensione in byte di una FAT nei casi di
un floppy disk da 1.44 Mbyte che usa blocchi da 1 Kbyte
un disco da 200 Gbyte che usa blocchi da 4 Kbyte
Floppy disk da 1.44 Mbyte
Disco da 200 Gbyte
Un file system può tenere traccia dei blocchi liberi mediante
Supponendo che il sistema ha un totale di
si calcoli la dimensione in bit della bitmap e della lista dei blocchi liberi
Fissati S e T, si determini inoltre per quale valore di U l’occupazione della bitmap è inferiore a quello della lista dei blocchi liberi
Bitmap
Lista dei blocchi liberi
fissati T e S
S(T-U) < T cioè U > (ST-T)/S
1. Storia ed evoluzione dei sistemi operativi
2. Struttura dei sistemi operativi
3. Interazione tra hardware e sistemi operativi
4. La rappresentazione dei processi
6. I Thread
7. Lo scheduling dei processi: introduzione e primi esempi
9. La sincronizzazione dei processi
10. I semafori
11. Allocazione contigua dei processi in memoria centrale
12. Allocazione non contigua dei processi in memoria centrale
14. Gli algoritmi di avvicendamento delle pagine
16. I sistemi RAID
17. L'organizzazione logica dei file system
18. L'organizzazione fisica dei file system