-

Compito di Sistemi Operativi, Prof. Mancini - 16 giugno 1999


1. (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 della concorrenza. I processi non condividono dati esplicitamente al loro livello.

(g)    nessuna delle affermazioni precedenti è corretta.

 

2. (punti: -1,4)

 

Un sistema composto da processi e risorse raggiunge uno stato di attesa circolare:

 

(a)    se esistono un insieme non vuoto  P di processi e un insieme non vuoto  R di classi di risorse, tali che ogni Pi Î P  richiede una risorsa di una classe Rk Î R e, per ogni classe Rk Î R tutte le risorse di Rk  sono assegnate a processi dell'insieme P;

(b)   se dato un insieme non vuoto di processi e un insieme non  vuoto R di classi di risorse, esiste un processo Pi Î P che richiede una risorsa di una classe Ri Î R e, per ogni classe Rk Î R, tutte le risorse di Rk sono assegnate a processi dell'insieme P;

(c)    se esistono un insieme non vuoto P di processi e un insieme non vuoto R di classi di risorse, tali che ogni Pi Î P richiede una risorsa di una classe Ri Î R e esiste una classe Rk Î R, tale che tutte le risorse di Rk  sono assegnate a processi dell'insieme P;

(d)   se dato un insieme non vuoto P di processi e un insieme non vuoto R di classi di risorse, esiste un processo Pi Î P che richiede una risorsa di una classe Ri Î R e esiste una classe Rk Î R, tale che tutte le risorse di Rk sono assegnate a processi dell'insieme P;

(e)    se esistono un insieme non vuoto P di processi e un insieme non vuoto R di classi di risorse, tali che ogni Pi Î P è sospeso per la richiesta di una risorsa di una classe Ri Î R e, per ogni classe Rk Î R, tutte le risorse di Rk sono assegnate a processi dell'insieme P;

(f)     se dato un insieme non vuoto P  di processi e un insieme non vuoto R di classi di risorse, esiste un processo Pi Î P che è sospeso per la richiesta di una risorsa di una classe Ri Î R e, per ogni classe Rk Î R, tutte le risorse di Rk  sono assegnate a processi dell'insieme P;

(g)    se le risorse sono seriali, non prerilasciabili e sono gestite con richieste bloccanti;

(h)    nessuna delle affermazioni precedenti è corretta.

 

3. (punti: -1,4)

Nel sistema Unix la chiamata di sistema denominata exec eseguita dal processo:

(a)      genera un processo Pj che è una copia di Pi , e restituisce a Pi il file-descriptor di Pj e a  Pj l'indice zero. I processi Pi e Pj  hanno descrittori e immagini in memoria distinte;

(b)     genera un processo Pj che è una copia di Pi, e restituisce a Pi l'indice zero e a Pj il file-descriptor di Pi. I processi Pi e Pj hanno descrittori e immagini in memoria distinte;

(c)      invoca un processo Pj da eseguire e modifica l'immagine in memoria di Pj;

(d)     invoca un processo Pj da eseguire e modifica l'immagine in memoria di Pi;

(e)      è invocata specificando un file da eseguire e modifica l'immagine in memoria del processo Pj;

(f)       è invocata specificando un file da eseguire e modifica l'immagine iii memoria del processo Pi;

(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 I-node bit map, contiene le copie dei descrittori di archivio in uso da parte di almeno un processo;

(c)      La TabellaDeiDescrittoriInMS. o I-node bit map, registra lo stato di assegnazione su disco dei descrittori di archivio;

(d)     La MappaDescrittoriDiArchivio, o tabella I-node, registra lo stato di assegnazione su disco dei descrittori di archivio;

(e)      La TabellaDeiDescrittoriInMS, o I-node bit map, ogni elemento registra la cardinalità dell'insieme di processi che stanno utilizzando l archivio ad esso associato;

(f)       La MappaDescrittoriDiArchivio,  o tabella I-node, ogni elemento registra la cardinalità dell'insieme di processi che stanno utilizzando l archivio ad esso associato;

(g)      nessuna delle affermazioni precedenti è corretta.

 

5. (punti: 6)

Illustrare in al più 60 parole il concetto di dominio di protezione.

 

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

19

P2

9

13

P3

3

17

P4

13

5

P5

5

9


 

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=5 2 1 8 7 2 4 6 8 3 1 5 9 7 3 6 1 0 5 9

 

(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 l'algoritmo di Peterson per realizzare un protocollo che garantisca la mutua sclusine per l'accesso ad una risorsa condivisa fra due processi.

9. (punti: 9)

Un archivio contiene una sequenza di  n stringhe parzialmente ordinate, s1£ s2 £ &£ sm e sm+1£ &£ sn. realizzare un programma Perl efficiente che ordini l'intero archivio. Valutare la complessità in tempo e spazio del programma.
 
 


Risultati della prova


1. d
2. e
3. f
4. a

5.

Un dominio di protezione è una riga della matrice di protezione. Questa è costruita ponendo sulle colonne le risorse, sulle righe i domini e nelle celle la modalità con cui un dominio può accedere alle risorse. Generalmente ad ogni utente corrisponde un dominio.


6.

a)  

P1

P3

P1

P5

P3

P2

P1

P4

P5

P3

P2

P4

P5

P3

P2

P3

P2

0-4

4-8

8-12

12-16

16-20

20-24

24-25

25-29

29-33

33-37

37-41

41-42

42-43

43-47

47-51

51-52

52-53

b) media tempo di attesa dei processi: ((25-9)+(53-9-13)+(52-3-17)+(42-13-5)+(43-5-9))/5 = 132/5
c) valore medio del tempo di turnaround dei processi: (25+53-9+52-3+42-13+43-5)/5 = 185/5


7.

a: Algoritmo LRU (pag. 469 del Maestrini):

 

 

 

 

 LRU

5

2

1

8

7

2

4

6

8

3

1

5

9

7

3

6

1

0

5

9

0

5

5

5

5

5

5

4

4

4

4

4

5

5

5

5

5

1

1

1

1

1

 

2

2

2

2

2

2

2

2

2

1

1

1

1

1

6

6

6

6

6

2

 

 

1

1

1

1

1

6

6

6

6

6

9

9

9

9

9

0

0

0

3

 

 

 

8

8

8

8

8

8

8

8

8

8

7

7

7

7

7

5

5

4

 

 

 

 

7
7

7

7

7

3

3

3

3

3

3

3

3

3

3

9

 

p

p

p

p

p

 

p

p

 

p

p

p

p

p

 

p

p

p

p

p

Numero di page fault: 5+12

b: Algoritmo Second Chance: (pag. 473 del Maestrini)

 TURNOMS=4

 

TurnoMS

 

SC 

5

2

1

8

7

2

4

6

8

3

1

5

9

7

3

6

1

0

5

9

0

51

51

51

51

51

51

41

41

41

41

41

40

91

91

91

91

90

90

51

51

1

 

21

21

21

21

21

20

61

61

61

61

60

60

71

71

71

70

70

70

91

2

 

 

11

11

11

11

10

10

10

31

31

30

30

30

31

30

11

11

11

11

3

 

 

 

81

81

81

80

80

81

81

80

51

51

51

51

50

50

01

01

01

4

 

 

 

 

71

71

70

70

70

70

11

11

10

10

10

61

61

61

60

60

 

p

p

p

p

p

 

p

p

 

p

p

p

p

p

 

p

p

p

p

p

 

Numero di page fault: 5+12


8. Si veda Maestrini Tab. 4.8, p. 124

 

 

9. Soluzione sulla mailing list

 


- 16 giugno 1999 -