-
Compito di Sistemi Operativi, Prof. Mancini - 7 luglio 1999
1. (punti: -1,4)
Il modello di sincronizzazione denominato consumatore-consumatore:
(a) associa ad ogni evento un valore intero. Il
valore dell’evento al generico tempo t è uguale al rapporto fra il numero delle
occorrenze prodotte e quelle consumate;
(b) associa ad ogni evento un valore intero. Il
valore dell’evento al generico tempo t è uguale al prodotto fra il numero delle
occorrenze prodotte e quelle consumate;
(c) associa ad ogni evento un valore intero. Il
valore dell’evento al generico tempo t è uguale al numero delle sue occorrenze
pendenti;
(d) associa ad ogni evento un valore intero. Il valore
dell’evento al generico tempo t è minore del rapporto fra il numero delle
occorrenze prodotte e quelle consumate;
(e) associa ad ogni evento un valore intero. Il
valore dell’evento al generico tempo t è minore del prodotto fra il numero
delle occorrenze prodotte e quelle consumate;
(f) associa ad ogni evento un valore intero. Il
valore dell’evento al generico tempo t è minore del numero delle sue occorrenze
pendenti;
(g) associa ad ogni evento un valore booleano. Quando
un processo esegue una sezione critica, nessun altro processo può accedere a
sezioni critiche della stessa classe;
(h) nessuna delle affermazioni precedenti è
corretta.
2. (punti: -1,4)
I processi si sospendono più o meno
frequentemente nel loro avanzamento:
(a) i processi CPU-bound utilizzano il processore
per lunghi periodi con sospensioni poco frequenti;
(b) i processi CPU-bound alternano brevi periodi
di utilizzo del processore con sospensioni molto frequenti;
(c) i processi I/O bound utilizzano il processore
per lunghi periodi con sospensioni poco frequenti;
(d) i processi I/O bound alternano brevi periodi
di utilizzo del processore con sospensioni molto frequenti;
(e) nessuna delle affermazioni precedenti è corretta.
3. (punti: -1,4)
Quali fra le seguenti affermazioni sono corrette:
(a) le transizioni dei processi dallo stato di attesa allo stato di pronto competono alla funzione di gestione del processore. Questa funzione designa di volta in volta il processo pronto selezionandolo tra i processi in attesa;
(b) le transizioni dei processi dallo stato di attesa allo stato di pronto competono alla funzione di gestione del processore. Questa funzione designa di volta in volta il processo in esecuzione selezionandolo tra i processi pronti;
(c) le transizioni dei processi dallo stato di pronto allo stato di esecuzione competono alla funzione di gestione del processore. Questa funzione designa di volta in volta il processo pronto selezionandolo tra i processi in attesa;
(d) le transizioni dei processi dallo stato di pronto allo stato di esecuzione competono alla funzione di gestione del processore. Questa funzione designa di volta in volta il processo in esecuzione selezionandolo tra i processi pronti;
(e) il prerilascio del processore dovuto alla riattivazione di un processo con priorità superiore a quella del processo in esecuzione fa passare il processo in esecuzione nello stato di pronto;
(f) il prerilascio del processore dovuto alla riattivazione di un processo con priorità superiore a quella del processo in esecuzione fa passare il processo in esecuzione nello stato di attesa;
(g) nessuna delle affermazioni precedenti è corretta.
4. (punti: -1,4)
Nella gestione dinamica della memoria principale:
(a) la somma delle lunghezze degli spazi logici dei processi non può superare le dimensioni della memoria fisica: tale somma contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(b) la somma delle lunghezze degli spazi logici dei processi può superare la dimensione della memoria fisica: tale somma contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(c) la somma delle lunghezze degli spazi logici dei processi non può superare la dimensione della memoria fisica; tale somma non contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(d) la somma delle lunghezze degli spazi logici dei processi può superare la dimensione della memoria fisica: tale somma non contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(e) la somma delle lunghezze degli spazi fisici dei processi non può superare la dimensione della memoria fisica: tale somma contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(f) la somma delle lunghezze degli spazi fisici dei processi può superare la dimensione della memoria fisica: tale somma contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(g) la somma delle lunghezze degli spazi fisici dei processi non può superare la dimensione della memoria fisica: tale somma non contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(h) la somma delle lunghezze degli spazi fisici dei processi può superare la dimensione della memoria fisica: tale somma non contribuisce quindi in misura determinante a limitare il numero dei processi che possono coesistere nel sistema;
(i) nessuna delle affermazioni precedenti è corretta.
5. (punti: 6)
Illustrare in al più 60 parole il concetto di risorsa. Citare un esempio per ciascuno dei seguenti tipi di risorse: astratte, fisiche, seriali, prerilasciabili e non.
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 |
0 |
9 |
P2 |
3 |
17 |
P3 |
7 |
10 |
P4 |
11 |
9 |
P5 |
15 |
6 |
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=2 4 6 8 3 4 1 5 3 8 9 7 0 5 9 2 1 8 7 6
(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 un tipo di dato monitor per realizzare le operazioni P e V su semafori.
9. (punti: 9)
Realizzare un programma Perl efficiente che riceva in ingresso due
array e che costruisca un terzo array contenente sotanto gli elementi presenti
in entrambi. Valutare la complessità in tempo e spazio del programma.
Risultati della prova
1. c
2. a,d
3. d,e
4. d
5.
Una risorsa è una qualsiasi entità, fisica o astratta, che può essere richiesta da un processo. Viene assegnata dal gestore della risorsa in base ad un’opportuna politica. Le risorse possono essere suddivise in classi. Risorse nella stessa classe sono omogenee, in classi diverse sono eterogenee.
astratte: archivio seriale: stampante non prerilasciabile: stampante
fisiche:
processore prerilasciabile:processore
6.
a)
P1 |
P2 |
P1 |
P3 |
P2 |
P4 |
P1 |
P5 |
P3 |
P2 |
P4 |
P5 |
P3 |
P2 |
P4 |
P2 |
0-4 |
4-8 |
8-12 |
12-16 |
16-20 |
20-24 |
24-25 |
25-29 |
29-33 |
33-37 |
37-41 |
41-43 |
43-45 |
45-49 |
49-50 |
50-51 |
b) media tempo di attesa dei
processi: ((25-0-9)+(51-3-17)+(45-7-10)+(50-11-9)+(43-15-6) = 127/5
c) valore medio del
tempo di turnaround dei processi: (25+(51-3)+(45-7)+(50-11)+(43-15))/5 =
178/5
7.
a: Algoritmo LRU (pag. 469 del Maestrini):
LRU |
2 |
4 |
6 |
8 |
3 |
4 |
1 |
5 |
3 |
8 |
9 |
7 |
0 |
5 |
9 |
2 |
1 |
8 |
7 |
6 |
0 |
2 |
2 |
2 |
2 |
2 |
2 |
1 |
1 |
1 |
1 |
1 |
7 |
7 |
7 |
7 |
7 |
1 |
1 |
1 |
1 |
11 |
|
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
6 |
2 |
|
|
6 |
6 |
6 |
6 |
6 |
5 |
5 |
5 |
5 |
5 |
0 |
0 |
0 |
0 |
0 |
8 |
8 |
8 |
3 |
|
|
|
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
2 |
2 |
2 |
2 |
2 |
4 |
|
|
|
|
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
5 |
5 |
5 |
5 |
5 |
7 |
7 |
|
p |
p |
p |
p |
p |
|
p |
p |
|
|
p |
p |
p |
p |
|
p |
p |
p |
p |
p |
Numero di page fault: 5+11
b: Algoritmo Second Chance:
(pag. 473 del Maestrini)
TURNOMS=4
|
TurnoMS |
SC
|
2 |
4 |
6 |
8 |
3 |
4 |
1 |
5 |
3 |
8 |
9 |
7 |
0 |
5 |
9 |
2 |
1 |
8 |
7 |
6 |
0 |
21 |
21 |
21 |
21 |
21 |
21 |
11 |
11 |
11 |
11 |
11 |
10 |
10 |
10 |
10 |
21 |
20 |
20 |
20 |
20 |
1 |
|
41 |
41 |
41 |
41 |
41 |
40 |
51 |
51 |
51 |
51 |
50 |
50 |
51 |
51 |
51 |
11 |
11 |
11 |
11 |
2 |
|
|
61 |
61 |
61 |
61 |
60 |
60 |
60 |
60 |
91 |
90 |
90 |
90 |
91 |
91 |
90 |
81 |
81 |
81 |
3 |
|
|
|
81 |
81 |
81 |
80 |
80 |
80 |
81 |
81 |
71 |
71 |
71 |
71 |
71 |
70 |
70 |
71 |
70 |
4 |
|
|
|
|
31 |
31 |
30 |
30 |
31 |
31 |
31 |
30 |
01 |
01 |
01 |
01 |
00 |
00 |
80 |
61 |
|
p |
p |
p |
p |
p |
|
p |
p |
|
|
p |
p |
p |
p |
|
p |
p |
p |
p |
p |
Numero page fault: 5+9
8.
- 7 luglio 1999 -