Corso di Laurea in Informatica Applicata – La Spezia

2 Febbraio 2004

Sistemi Operativi

Prova Scritta

 

PRIMA PARTE

 

1. Spiegare la differenza in tra mutex e critical sections in Windows 2000.

                       

2. Quali delle seguenti affermazioni sono vere o false?  Motivare le risposte.

a)      l’algoritmo del banchiere viene utilizzato per verificare se uno stato è sicuro o meno.

b)      l’algoritmo del banchiere non si applica a risorse prerilasciabili.

c)      un sistema in uno stato insicuro è in stallo.

d)      un sistema in uno stato insicuro potrebbe non essere attualmente in stallo ma andrà sicuramente in stallo in futuro.

e)      tutti i processi di un sistema in stato insicuro possono comunque terminare.

f)       non è possibile andare da uno stato sicuro ad uno stato insicuro a prescindere dalla quantità e qualità di risorse richieste da un processo.

 

3. Che cos'e' il problema dei filosofi a cena? Si descriva come i  filosofi possano entrare in deadlock.

 

4. Si scriva in C o in pseudocodice l’algoritmo dei filosofi a cena.

 

5. Supponiamo di ricevere 4 job (JA, JB, JC, JD) tali che:

            job                 Tempo stimato              Tempo di arrivo

            JA                   23                                0

            JB                   20                                15

            JC                   15                                19

            JD                   16                                12

Calcolare il tempo di completamento di ogni job ottenuto con lo scheduling SJF (Shorter Job First) e lo scheduling Round-Robin con quanto di tempo 9 e tempo di commutazione di contesto pari a 1.

 

 


SECONDA PARTE

 

6. Si supponga  di gestire una memoria di 2000K per mezzo di paginazione con dimensione di pagine di 100K e 200K. Si descriva l’allocazione di memoria conseguente, a fronte di una sequenza di quattro processi, P1, P2, P3 e P4, che necessitano, rispettivamente, di 212K, 417K, 112K, 426K. A quanti KB ammontano   nei due casi la frammentazione interna e la memoria libera ?

 

7. Descrivere l’algoritmo di sostituzione di pagine WSClock.

 

8. Quali sono le informazioni tipicamente contenute in un superblock ?

 

9. Cos’e’ il sistema di memorizzazione stabile (stable storage) ?

 

10. Spiegare la funzione e i parametri della system call open di Unix.