-
Compito di Sistemi Operativi, Prof. Mancini - 9 febbraio 1999
1. (punti: -1,4)
Il modello di sincronizzazione denominato consumatore-consumatore:
(a) associa ad ogni evento un valore reale. 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 numero delle sue occorrenze
pendenti;
(c) associa ad ogni evento un valore reale. Il
valore dell'evento al generico tempo t è maggiore del rapporto fra il numero di
occorrenze prodotte e quelle consumate;
(d) associa ad ogni evento un valore intero. Il
valore dell'evento al generico tempo t è maggiore del numero delle sue
occorrenze pendenti;
(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 booleano.
Quando un processo esegue una sezione critica, nessun altro processo può
accedere a sezioni critiche della stessa classe;
(g) nessuna delle affermazioni precedenti è
corretta.
2. (punti: -1,4)
Si parla di risorse seriali se:
(a) le singole risorse possono essere utilizzate
contemporaneamente da più processi. Sono esempi di risorse seriali gli archivi
utilizzati in sola lettura;
(b) le singole risorse non possono essere
utilizzate contemporaneamente da più processi. Sono esempi di risorse seriale
gli archivi utilizzati in sola lettura;
(c) le singole risorse possono essere utilizzate
contemporaneamente da più processi. Sono esempi di risorse seriali i
processori;
(d) le singole risorse non possono essere
utilizzate contemporaneamente da più processi. Sono esempi di risorse seriali i
processori;
(e) la funzione di gestione può sottrarre una risorsa al processo al quale è assegnata senza che questa la rilasci esplicitamente;
(f) le singole risorse sono utilizzabili dai processi in mutua esclusione;
(g) le singole risorse non sono utilizzabili dai processi in mutua esclusione;
(h) nessuna delle affermazioni precedenti è corretta.
3. (punti: -1,4)
Nei sistemi operativi organizzati secondo il modello cliente-servente:
(a) sono necessari dei meccanismi per la generazione e la terminazione dei processi; i processi sono così strutturati in un albero, i cui cammini collegano processi antenati a processi discendenti;
(b) non sono necessari dei meccanismi per la generazione e la terminazione dei processi; i processi sono così strutturati in un albero, i cui cammini collegano processi antenati a processi discendenti;
(c) il nucleo contiene i dati che descrivono i processi e le procedure che realizzano i meccanismi per la concorrenza. I processi condividono dati esplicitamente al loro livello;
(d) il nucleo contiene i dati che descrivono i processi e le procedure che realizzano i meccanismi per la concorrenza. I processi non condividono dati esplicitamente al loro livello;
(e) il nucleo non contiene i dati che descrivono i processi e le procedure che realizzano i meccanismi per la concorrenza. I processi condividono dati esplicitamente al loro livello;
(f) il nucleo non contiene i dati che descrivono i processi e le procedure che realizzano i meccanismi per la concorrenza. I processi non condividono dati esplicitamente al loro livello;
(g) nessuna delle affermazioni precedenti è corretta.
4. (punti: -1,4)
Nel sistema Unix un archivio speciale è:
(a) un archivio che se eseguito dal processo Pi che 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 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 come 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 non 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.
5. (punti: 6)
Illustrare in al più 60 parole la chiamata di sistema denominata exec del sistema operativo Unix.
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 |
20 |
P2 |
3 |
11 |
P3 |
5 |
9 |
P4 |
9 |
5 |
P5 |
13 |
8 |
(a) (punti: 4)
Assegnare questo insieme di processi ad un processore in base alla politica Round Robin considerando un quanto di tempo di 4 millisecondi.
(b) (punti: 2)
Calcolare il valor medio del tempo di attesa dei processi
(c) (punti: 2)
Calcolare 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=9 3 1 0 5 9 1 6 3 4 5 2 1 8 7 4 6 3 1 5
(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 definite sui semafori per realizzare lo scambio di messaggi di lunghezza variabile;.
9. (punti: 9)
Realizzare un Perl script efficiente che riceve in ingresso il nome
di un array e due stringhe (un separatore e un terminatore) e stampa gli
elementi dell array separati dalla stringa separatore e terminati dalla stringa
terminatore.
Risultati della prova
1. b
2. d,f
3. d
4. c
5.
La chiamata di sistema exec è invocata specificando il nome dell'archivio da eseguire, e permette al processo che la invoca di modificare la propria immagine in memoria.
6.
a)
P1 |
P2 |
P1 |
P3 |
P2 |
P4 |
P1 |
P5 |
P3 |
P2 |
P4 |
P1 |
P5 |
P3 |
P1 |
0-4 |
4-8 |
8-12 |
12-16 |
16-20 |
20-24 |
24-29 |
29-32 |
32-36 |
36-39 |
39-40 |
40-44 |
44-48 |
48-49 |
49-53 |
b) media tempo di attesa dei
processi: 146/5
c) valore medio del
tempo di turnaround dei processi: 199/5
7.
a: Algoritmo LRU (pag. 469 del Maestrini):
LRU |
9 |
3 |
1 |
0 |
5 |
9 |
1 |
6 |
3 |
4 |
5 |
2 |
1 |
8 |
7 |
4 |
6 |
3 |
1 |
5 |
0 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
9 |
5 |
5 |
5 |
5 |
5 |
4 |
4 |
4 |
4 |
4 |
1 |
|
3 |
3 |
3 |
3 |
3 |
3 |
6 |
6 |
6 |
6 |
6 |
1 |
1 |
1 |
1 |
1 |
3 |
3 |
3 |
2 |
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
2 |
2 |
6 |
6 |
6 |
6 |
3 |
|
|
|
0 |
0 |
0 |
0 |
0 |
3 |
3 |
3 |
3 |
3 |
8 |
8 |
8 |
8 |
8 |
1 |
1 |
4 |
|
|
|
|
5 |
5 |
5 |
5 |
5 |
4 |
4 |
4 |
4 |
4 |
7 |
7 |
7 |
7 |
7 |
5 |
|
p |
p |
p |
p |
p |
|
|
p |
p |
p |
p |
p |
p |
p |
p |
p |
p |
p |
p |
p |
Numero di page fault: 5+13
b: Algoritmo Second Chance:
(pag. 473 del Maestrini)
TURNOMS=4
|
TurnoMS |
SC
|
9 |
3 |
1 |
0 |
5 |
9 |
1 |
6 |
3 |
4 |
5 |
2 |
1 |
8 |
7 |
4 |
6 |
3 |
1 |
5 |
0 |
91 |
91 |
91 |
91 |
91 |
91 |
91 |
61 |
61 |
61 |
61 |
61 |
60 |
60 |
71 |
71 |
71 |
70 |
70 |
70 |
1 |
|
31 |
31 |
31 |
31 |
31 |
31 |
30 |
31 |
30 |
30 |
30 |
11 |
11 |
11 |
11 |
10 |
31 |
31 |
31 |
2 |
|
|
11 |
11 |
11 |
1! |
11 |
10 |
10 |
41 |
41 |
41 |
41 |
40 |
40 |
41 |
40 |
40 |
11 |
11 |
3 |
|
|
|
01 |
01 |
01 |
01 |
00 |
00 |
00 |
00 |
21 |
21 |
20 |
20 |
20 |
61 |
61 |
61 |
60 |
4 |
|
|
|
|
51 |
51 |
51 |
50 |
50 |
50 |
51 |
51 |
50 |
81 |
81 |
81 |
81 |
80 |
80 |
51 |
|
p |
p |
p |
p |
p |
|
|
p |
|
p |
|
p |
p |
p |
p |
|
p |
p |
p |
p |
Numero page fault: 5+10
8. Si veda Maestrini Tab. 6.13, p. 274