2010-05-17 99 views
0

只是一個快速在Dijkstra的Banker's algorithm有關安全/不安全狀態查詢...需要對銀行家算法的一些澄清

如果系統中的快照的方法之一(例如下面的一個)已經擁有所有的它的需求是否滿足,沒有足夠的資源來滿足任何其他過程的需求,系統是否處於安全狀態?我通常知道,我們假設當一個進程接收其所需的資源,它會後不久退出並返回所有資源,但這種假設因素考慮,當我們計算系統的狀態?

Allocated  Maximum  Available 

    | A | B   | A | B  A | B 
---+---+---  ---+---+--- ---+--- 
P1 | 1 | 2  P1 | 1 | 2  1 | 3 
P2 | 5 | 3  P2 | 7 | 8  

編輯

只是爲了讓我的問題更清楚一點:在例如上述系統處於安全狀態或不安全的狀態?我們認爲,從P2請求被延遲,直到P1返回的資源,此時P2的要求可以得到滿足,因此該系統是安全的,或者是系統不安全的,因爲目前沒有任何可能的請求能得到滿足?

+0

這個狀態是安全的,因爲我們有一個時間表,使完成 – user567879 2011-09-06 13:21:29

回答

1

系統處於安全狀態,因爲方法1可以運行。完成後,過程2將有足夠的資源A和資源B的副本完成。因此,存在一個「時間表」,系統可以使用該時間表完成其過程。這意味着它是安全的。