Soluzioni Esame Febbraio

D1, D2, D3: vedi lucidi e libro

D4:
  1. No perche il processo P1 e' sempre libero di segnalare su S e quindi di sbloccare P2
  2. No, se P1 viene eseguito infinite volte allora sicuramente P2 non sara' bloccato (S avra' un valore >0) in tal caso quindi
    P2 potrebbe muovere indipendentemente da P1
  3. Una descrizione formale e' alquanto complessa.
    Intuitivamente
    -P1 calcola le potenze di 2 utilizzando x come variabile di lavoro e nel contempo incrementa il valore di S
    -P2 stampa il valore corrente di x (una potenza di 2) un numero di volte =< del valore del semaforo S
    Quindi vengono stampate (un sottoinsieme delle) sequenze strettamente crescenti di potenze di due con possibili ripetizioni di ogni singolo valore.
    Ad esempio:
D5:
Due possibili sequenze a seconda dello stato della coda al tempo 6 (entra prima P1 di P3 o viceversa):

P1(0-3) P1(3-6) P2(6-9) -- se P3 entra in coda dopo P1 --> P1(9-10) P3(10-13) P2(13-15) P4(15-18) P5(18-21) P3(21-24) P4(24-27) P5(27-29) P4(29-32)

Simile nell'altro caso.

D6:
La strategia OPT seleziona come pagina vittima la pagina che verra riferita nel futuro piu lontano (piu avanti possibile nella stringa dei riferimenti)

Quindi: sulla stringa di riferimenti considerata
2 pf
2 9 pf
2 9 1 pf
2 9 1
2 9 1
2 9 1
2 9 1 3 pf
2 9 1 4 pf
2 9 5 4 pf
2 6 5 4 pf
2 6 5 4
2 6 5 4
2 6 5 4
2 7 5 4 pf
2 7 5 4
9 7 5 4  pf
1 7 5 4  pf
0 7 5 4  pf
3 7 5 4  pf
3 7 5 4
3 7 5 4

per un totale di 12 page fault

D7, D8:
vedi lucidi

D9:
1. Max file all. concatenata:  Num. blocchi * Dim. dati = 2^32 * (4KB - 4 B)
2. Max file 3 livelli indice:  (Dim. blocco/Dim. Puntatore)^3 * Dim. Blocco = 1024^3 * 4 KB
4. Num. blocchi all. concat. = 1GB/(4KB-4B)
4. Num. blocchi all. concat. = 1GB/4KB

D10: Vedi lucidi ultima parte corso