Esame di Sistemi Operativi 1: 16 giugno 2006

 

 

D1

D2

D3

D4

D5

D6

E1

E2

E3

Totale

Punti

4

4

4

4

3

2

5

2

4

32

 

Domanda 1
Descrivere in pseudo-codice l’algoritmo del fornaio.

 

Domanda 2
Spiegare a cosa servono, come funzionano  e quali primitive forniscono i monitor (nel contesto della

cooperazione dei processi).

 
Domanda 3

Descrivere e spiegare le differenze tra monoprogrammazione e multiprogrammazione

con particolare attenzione per i problemi relativi alla gestione della memoria (es. swapping e memoria virtuale).

 

Domanda 4
Descrivere la tecnica di allocazione indicizzata dei file, illustrandone vantaggi e svantaggi in termini di
efficienza nell'accesso al file e di riduzione della frammentazione.

 

Domanda 5
A cosa serve, cosa contiene e come e’ strutturata la Master File Table (MFT)?

Considerate ora un file A con  7 blocchi allocati ai seguenti indirizzi fisici 

 

3,4,7,8,9,10,12

 

In quale formato vengono mantenuti gli indirizzi fisici dei blocchi nel record del file A della  MFT?

 

Domanda 6

 Spiegare il significato della seguente stringa:


 -rw-r--r-x    fabio-rossi  studenti   53232  16-giugno-2006   A

Qual e' l'effetto del comando Unix "chmod 621 A"?

(Mostrare la nuova stringa e spiegarne il significato).



Esercizio 1
Considerate i seguenti  processi

 

Risorse condivise
  semaphore  M=2;
  int x=20;

Processo P1

 begin
    down(&M);
    x:=x+1;

    write(x);

    up(&M);  
 end

Processo Q1

begin
    down(&M);
    write(x);
    up(&M);  
 end


Processo Q2

begin
    down(&M);
    write(x);
    up(&M);  
 end


supponete che i processi vengano eseguiti concorrentemente sulla stessa CPU. 

 

  1. Individuate le regioni critiche nel codice di P1 e Q1 e Q2.
    Si possono verificare race condition per la variabile condivisa x?
  2. Determinare tutti i possibili output di tale programma concorrente.

 

  1. Notate che Q1 e Q2 sono tutte copie di uno stesso processo Q.
    Cosa cambia nella risposta 2 se M fosse inizializzato ad un valore K>=0 ed
    avessimo N>=1 copie di Q eseguite in parallelo con P1?

 

Esercizio 2
Considerare i processi P1, P2, P3, P4  con i seguenti tempi di arrivo ed  esecuzione:

 

Processo

Tempo di arrivo

CPU Burst

P1

0

4

P2

1

4

P3

3

6

P4

5

6


Assegnare questo insieme di processi ad un processore in base alla politica Round Robin
considerando  un quanto di tempo di 2 unità.

Mostrare il Gantt chart risultante.


Esercizio 3
Considerare la seguente stringa di riferimenti :

 

 4-5-4-1-1-6-6-1-6-2-1-2-3-2-1-2-3-8-1-4-5  

 

Illustrare il comportamento degli algoritmi LRU e NFU di sostituzione delle pagine per una memoria fisica di 4 blocchi. Calcolare il numero di page fault che si verificano nei due casi.