Prova teorica 2015.06.17

From Sistemi Operativi
Revision as of 14:34, 15 June 2017 by FedericoB (talk | contribs) (Creata pagina con soluzione a esercizio g.1)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

[link al compito]

Esercizio 1=

Sia dato il seguente stato dell'algoritmo del Banchiere Multivaluta
Valuta A: COH=x Valuta B: COH=y
p1: credito=6 assegnati=4 credito=10 assegnati=5
p2: credito=6 assegnati=3 credito=5 assegnati=3
p3: credito=6 assegnati=2 credito=10 assegnati=4
Denotare l'insieme di tutti I valori (x, y) per I quali lo stato sopra indicato risulta safe

Soluzione di FedericoB

Assumo che per credito si intenda il credito residuo e non il limite di credito del cliente.
Lo stato è safe se almeno uno dei clienti è soddisfacibile.
Determino un valore di COHx e COHy per cui una sequenza è soddisfacibile e COHx-1 e COHy-1 non è più soddisfacibile.
Inizio ponendo COHx e COHy pari al minimo del credito
Verifico per la valuta x
avail[1] = 6 6>=6? yes
avail[2] = 6+2 = 8 >= 6? yes
avail[3] = 8+3 = 11 >= 6? yes
avail[4] = 11+4 = 16 >= 6? yes
se COHx fosse uguale a 5 nessun cliente sarebbe soddisfacibile.
Per y invese se COHy=5
avail[1] = 5 5>=5? yes
avail[2] = 5+3 = 8 >= 10? No stato unsave
Porto COHY=7
avail[1] = 7 7>=5? yes
avail[2] = 7+3 = 10>=10? yes
avail[3] = 10+4 = 14>=10? yes
avail[4] = 14+5 = 19>=10? yes

Quindi lo stato risulta safe per ogni (x,y) tale che x>5 e y>6