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