-

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

- 9 febbraio 1999 -