Corso di Laurea in Informatica Applicata - La Spezia

 

30 marzo  2006

 

Sistemi Operativi - Prima  prova intermedia



1) Qual e' la differenza principale tra una chiamata di sistema e una normale chiamata a procedura? 

 

2) Quali tecniche di IPC (Interprocess Communication) sono disponibili per i threads di Unix?

 

3) Cosa sono i semafori? Descrivere il loro funzionamento.

 

4) Scrivere in pseudo-C (o in altro pseudocodice) una soluzione corretta del problema del produttore-consumatore utilizzando i semafori .

 

5) Descrivere i meccanismi di schedulazione in UNIX.

 

 6) Differenza tra job, processsi, thread e fibre di Windows 2000. Quali di essi sono thread gestiti a livello utente ?

 

7) Quali tra i seguenti elementi sono condivisi tra tutti i threads  di un processo e quali sono privati di ciascun thread  di un processo ? (Movivare la risposta)

a)         Stack

b)         Spazio di indirizzamento

c)         Stato

 

8) In un sistema con 3 tipi di risorse il vettore delle risorse esistenti è [X 3 5 2] con X>=2. Consideriamo lo stato definito dalla seguente matrice di allocazione corrente:

 

Processo 0     2  0 1 0 

Processo 1     0  1 0 0 

Processo 2     0  0 1 0

Processo 3     0  1 1 0

 

E dalla seguente matrice delle richieste CORRENTI di ciascun processo :

 

Processo 0    1 0 4 1 

Processo 1    0 1 0 1 

Processo 2    0 2 0 0 

Processo 3    2 0 3 1

 

Dire per quali valori di X il sistema è in deadlock.

 


9) In un sistema che adotta uno scheduling round robin con quanti di tempo di 100ms, si considerino i seguenti processi:

Processo            tempo di arrivo                              durata

A                                     0 ms                                    200 ms

B                                   50 ms                                    100 ms

C                                 150 ms                                    150 ms

D                                 320 ms                                      50 ms

 

Considerando un tempo di commutazione di contesto di 1 ms, si calcoli  l'istante di terminazione di ogni processo.

 

10) Elencare le condizioni di Coffman per lo stallo.  Quante di esse devono essere negate per non avere uno stallo (spiegare)? Fate un esempio di negazione di una condizone di Coffman.