Qual è la risposta corretta al problema dato?

0

Considera un sistema avente m risorse dello stesso tipo e 3 processi A, B e C hanno picchi richiesti di 3,4 e 6 rispettivamente.

Quale dovrebbe essere il valore di m tale che il deadlock non si verifichi?

La mia analisi:

Se consideriamo il caso peggiore, le risorse 2 per A, 3 per B e 5 per C (2 + 3 + 5 = 10) sono attualmente assegnate. In aggiunta a ciò, un'altra risorsa se assegnata a uno qualsiasi dei processi impedirà il verificarsi di deadlock.

Quindi la risposta è 11 . È corretto ? o c'è qualche altra risposta che contraddice sopra

    
posta Sai Avinash 28.01.2015 - 11:54
fonte

1 risposta

1

Dati i presupposti che

  • tutte le risorse sono ugualmente accettabili per ogni processo e
  • ogni processo assegna gradualmente risorse fino al picco di domanda prima di rilasciare risorse (se non sono disponibili risorse sufficienti, il processo attenderà indefinitamente di più senza rilasciare nessuna delle risorse correnti), e
  • al termine, ogni processo rilascia le proprie risorse per essere nuovamente utilizzate da un altro processo

quindi l'analisi è corretta e disporre di 11 risorse consentirà di evitare i deadlock sulle risorse.

Se ci sono 10 o meno risorse, allora è possibile allocare le risorse in modo tale che tutti i processi finiscano nell'attesa che un altro processo rilasci le loro risorse.
Se hai 11 o 12 risorse, allora ci sarà sempre almeno un processo che può raggiungere il suo limite di assegnazione e completare, dopo di che le risorse di quel processo saranno nuovamente disponibili per gli altri.
Se hai 13 o più risorse, tutti i processi possono sempre disporre di risorse sufficienti senza attendere l'un l'altro.

    
risposta data 28.01.2015 - 15:05
fonte

Leggi altre domande sui tag