Hai bisogno di qualche chiarimento su Banchieri Algorithm
-
27-09-2019 - |
Domanda
solo un rapido relativo a stati di sicurezza / non sicure di Dijkstra algoritmo del banchiere .. .
Se uno dei processi nel snapshot del sistema (ad esempio quello in basso) ha già tutte le sue esigenze soddisfatte e non ci sono risorse sufficienti per soddisfare le esigenze di uno qualsiasi degli altri processi, è il sistema di uno stato sicuro? So che di solito diamo per scontato che una volta che un processo riceve le risorse necessarie che terminerà subito dopo e restituire tutte le risorse, ma è questo presupposto presi in considerazione quando si calcola lo stato del sistema?
Allocated Maximum Available
| A | B | A | B A | B
---+---+--- ---+---+--- ---+---
P1 | 1 | 2 P1 | 1 | 2 1 | 3
P2 | 5 | 3 P2 | 7 | 8
Modifica
Solo per fare la mia domanda un po 'più chiaro: è il sistema nel precedente esempio in uno stato sicuro o uno stato non sicuro? Dobbiamo supporre che le richieste di P2 vengono ritardati fino al ritorno P1 risorse, al quale le richieste punto di P2 possono essere soddisfatte e quindi il sistema è sicuro, o è il sistema non sicuro perché, al momento nessuna delle possibili richieste può essere soddisfatta?
Soluzione
Il sistema è in uno stato sicuro, perché Process 1 può essere eseguito. Quando finisce, ci saranno abbastanza copie di risorsa A e la risorsa B per il processo di 2 per terminare. Pertanto, esiste un "programma" con cui il sistema può eseguire i propri processi al completamento. Questo significa che è sicura.