Compito di Sistemi Operativi, Prof. Mancini - 12 ottobre 1999
1. (punti: -1,4)
Nella realizzazione di processi concorrenti:
(a) L’immagine di un processo prelevata dai registri
del processore è salvata nel campo “ImmagineNelProcessore” del descrittore del
processo se e solo se un processo passa dallo stato di esecuzione a quello di
attesa;
(b) Non è vero che l’immagine di un processo
prelevata dai registri del processore
salvata nel campo “ImmagineNelProcessore” del descrittore del processo
se e solo se un processo passa dallo stato di esecuzione a quello di attesa;
(c) L’immagine di un processo prelevata dal campo
“ImmagineNelProcesore” del descrittore del processo è ripristinata nei registri
del processore se e solo se il processo passa dallo stato di pronto a quello di
esecuzione;
(d) Non è vero che l’immagine di un processo
prelevata dal campo “ImmagineNelProcessore” del descrittore del processo è
ripristinata nei registri del processore se e solo se il processo passa dallo
stato di pronto a quello di esecuzione;
(e) Il campo “ImmagineInMemoria” del descrittore
del processo P contiene l’immagine di P prelevata dai registri del processore
quando P passa dallo stato di esecuzione a quello di attesa;
(f) Il campo “ImmagineInMemoria” del descrittore
del processo P contiene l’immagine di P prelevata dai registri del processore
quando P passa dallo stato di attesa a quello di pronto;
(g) Il campo “ImmagineInMemoria” del descrittore
del processo P contiene l’immagine di P prelevata dai registri del processore
quando P passa dallo stato di pronto a quello di esecuzione;
(h) Il salvataggio e il ripristino dello stato
del processo P non sono indispensabili affinché, dopo essersi sospeso, P possa
riprendere l’esecuzione del suo programma senza apparente discontinuità e senza
alcuna perdita di informazione;
(i)
nessuna delle
affermazioni precedenti è corretta.
2. (punti: -1,4)
La gestione del processore con politica round
Robin:
(a) non considera il processore risorsa
prerilasciabile e non assegna a tutti i processi pronti uguale priorità;
(b) considera i processore una risorsa
prerilasciabile e non assegna a tutti i processi pronti uguale priorità;
(c) considera il processore una risorsa prerilasciabile
ed assegna a tutti i processi pronti uguale priorità;
(d) non considera il processore una risorsa
prerilasciabile ed assegna a tutti i processi pronti uguale prirità;
(e) è particolarmente adatta per i processi
CPU-bound;
(f) è particolarmente adatta per i processi
I/O-bound;
(g) assicura tempi di risposta abbastanza brevi
ai processi CPU-bound, senza impedire l’avanzamento di eventuali processi
I/O-bound;
(h) assicura tempi di risposta abbastanza brevi
ai processi I/O-bound, senza impedire l’avanzamento di eventuali CPU-bound;
(i) nessuna delle affermazioni precedenti è corretta.
3. (punti: -1,4)
Nel sistema Unix un archivio speciale è:
(a) un archivio che se eseguito dal processo Pi permette la migrazione di Pi nel dominio di protezione associato al proprietario dell’archivio speciale;
(b) un archivio che se invocato genera un processo Pi che esegue il codice contenuto nell’archivio speciale;
(c) un dispositivo virtuale che presenta verso i processi la medesima interfaccia dei normali archivi. Come i normali archivi, anche gli archivi speciali sono individuati astrattamente con un nome;
(d) un dispositivo virtuale che non presenta verso i processi la medesima interfaccia dei normali archivi. Come i normali archivi, anche gli archivi speciali sono individuati astrattamente con un nome;
(e) un dispositivo virtuale che presenta verso i processi la medesima interfaccia dei normali archivi. Gli archivi speciali non sono individuati astrattamente con un nome;
(f) un dispositivo virtuale che no presenta verso i processi la medesima interfaccia dei normali archivi. Gli archivi speciali non sono individuati astrattamente con un nome;
(g) nessuna delle affermazioni precedenti è corretta.
4. (punti: -1,4)
Quali delle seguenti strutture dati appartengono al sistema di archiviazione di Unix:
(a) La TabellaDeiDescrittoriInMS, o tabella I-node, contiene le copie dei descrittori di archivio in uso da parte di almeno un processo;
(b) La MappaDescrittoriDiArchivio, o tabella I-node, contiene le copie dei descrittori di archivio in uso da parte di almeno un processo;
(c) La TabellaDeiDescrittoriInMS, o tabella I-node, ogni elemento registra la cardinalità dell’insieme di processi che stanno utilizzando l’archivio ad esso associato;
(d) La MappaDescrittoriDiArchivio, o I-node bit map, ogni elemento registra la cardinalità dell’insieme di processi che stanno utilizzando l’archivio ad esso associato;
(e) La TabellaDeiDescrittoriInMS, o I-node bit map, registra lo stato di assegnazione su disco dei descrittori di archivio;
(f) La MappaDescrittoriDiArchivio, o I-node bit map, registra lo stato di assegnazione su disco dei descrittori di archivio;
(g) nessuna delle affermazioni precedenti è corretta.
5. (punti: 6)
Illustrare in al più 60 parole la la primitiva mount del sistema Unix.
6. (punti: 6)
Considerare un insieme di cinque processi P1, P2, P3 , P4, P5 con i seguenti tempi di arrivo e tempi di esecuzione in millisecondi:
Processo |
Tempo di arrivo |
Tempo di esecuzione |
P1 |
1 |
17 |
P2 |
5 |
13 |
P3 |
9 |
9 |
P4 |
13 |
7 |
P5 |
0 |
5 |
Assegnare questo insieme di processi ad un processore in base alla politica Round Robin considerando un quanto di tempo di 4 millisecondi.
Calcolare il valor medio del tempo di attesa ed il valor medio del tempo di turnaround dei processi.
7. Considerare la seguente stringa di riferimenti di un processo alla memoria in un sistema con memoria virtuale
S=6 7 8 9 10 11 8 7 6 10 9 2 4 8 3 1 4 5 4 3
(a) (punti: 3)
Illustrare il comportamento dell’algoritmo LRU di sostituzione delle pagine per una memoria fisica di 5 blocchi. Calcolare il numero di page fault che si verificano.
(b) (punti: 3)
Illustrare il comportamento
dell’algoritmo Second Chance di sostituzione delle pagine per una memoria fisica di 5 blocchi. Calcolare il numero di page fault
che si verificano.
8. (punti: 9)
Utilizzare le primitive P e V sui semafori per risolvere il problema dei processi lettori e scrittori con la politica che evita l’attesa indefinita.
9. (punti: 9)
Realizzare un programma Perl efficiente che riceva in ingresso un
array e due stringhe (un separatore ed un terminatore) e stampa gli
elementi dell’array separati dalla stringa separatore e terminati dalla stringa
terminatore. Valutare la complessità in tempo e spazio del programma.
Risultati della prova
1. b,c
2. c,f,h
3. c
4. a,f
5.
La primitiva mount nel SO Unix prende
come parametri un direttorio Drj del sistema di archiviazione radice
Sr e un sistema di archiviazione Sj e “collega” la radice
di Sj al direttorio vedendo tutto come una unica struttura
gerarchica. Fino a che non avviene l’unmount il direttorio Drj individua il direttorio
radice di Sj.
6.
a)
P5 |
P1 |
P5 |
P2 |
P1 |
P3 |
P2 |
P4 |
P1 |
P3 |
P2 |
P4 |
P1 |
P3 |
P2 |
P1 |
0-4 |
4-8 |
8-9 |
9-13 |
13-7 |
17-21 |
21-25 |
25-29 |
29-33 |
33-37 |
37-41 |
41-44 |
44-48 |
48-49 |
49-50 |
50-51 |
b) media tempo di attesa dei
processi: ((51-1-17)+(50-5-13)+(49-9-9)+(44-13-7)+(9-5))/5 = 124/5
c) valore medio del
tempo di turnaround dei processi: ((51-1)+(50-5)+(49-9)+(44-13)+9)/5 = 175/5
7.
a: Algoritmo LRU (pag. 469 del Maestrini):
LRU |
6 |
7 |
8 |
9 |
10 |
11 |
8 |
7 |
6 |
10 |
9 |
2 |
4 |
8 |
3 |
1 |
4 |
5 |
4 |
3 |
0 |
6 |
6 |
6 |
6 |
6 |
11 |
11 |
11 |
11 |
11 |
9 |
9 |
9 |
9 |
9 |
1 |
1 |
1 |
1 |
1 |
1 |
|
7 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
7 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
2 |
|
|
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
2 |
2 |
2 |
2 |
2 |
2 |
5 |
5 |
5 |
3 |
|
|
|
9 |
9 |
9 |
9 |
9 |
6 |
6 |
6 |
6 |
6 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
4 |
|
|
|
|
10 |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
3 |
3 |
3 |
3 |
3 |
3 |
|
p |
p |
p |
p |
p |
p |
|
|
p |
|
p |
p |
p |
p |
p |
p |
|
p |
|
|
Numero di page fault: 5+9
b: Algoritmo Second Chance:
(pag. 473 del Maestrini)
TURNOMS=4
|
TurnoMS |
SC
|
6 |
7 |
8 |
9 |
10 |
11 |
8 |
7 |
6 |
10 |
9 |
2 |
4 |
8 |
3 |
1 |
4 |
5 |
4 |
3 |
0 |
61 |
61 |
61 |
61 |
61 |
111 |
111 |
111 |
111 |
111 |
110 |
110 |
110 |
81 |
81 |
80 |
80 |
80 |
80 |
80 |
1 |
|
71 |
71 |
71 |
71 |
70 |
70 |
71 |
70 |
70 |
91 |
91 |
91 |
91 |
90 |
11 |
11 |
11 |
11 |
11 |
2 |
|
|
81 |
81 |
81 |
80 |
81 |
81 |
80 |
80 |
80 |
21 |
21 |
21 |
20 |
20 |
20 |
51 |
51 |
51 |
3 |
|
|
|
91 |
91 |
90 |
90 |
90 |
61 |
61 |
60 |
61 |
60 |
60 |
31 |
31 |
31 |
31 |
31 |
31 |
4 |
|
|
|
|
101 |
100 |
100 |
100 |
100 |
101 |
100 |
100 |
41 |
41 |
41 |
40 |
41 |
41 |
41 |
41 |
|
p |
p |
p |
p |
p |
p |
|
|
p |
|
p |
p |
p |
p |
p |
p |
|
p |
|
|
8.
- 12 ottobre 1999