銀行家算法

假定顧客分成若干次進行貸款,並在第一次貸款時候說明他的最大借款額(亦即是這個進程一共需要多少資源)。具體算法如下:

1)  顧客的貸款操作依次順序進行,直到全部操作完成。
2)  銀行家對當前顧客的貸款操作進行判斷,以確定其安全性,看能否支持客戶貸款,即該客戶能否運行完成。
3)  安全時,貸款;否則,暫不貸款

 
 
銀行家算法實現:

1.進程申請資源的情況
Requesti是進程Pi的請求向量,如果Requesti[j]=K,表示進程Pi需要Rj類資源個數爲K。Requesti與Need[i]的關係可能爲一下3種情況:
1)  Requesti>Need[i].這種情況表示該進程的資源需求超過系統所宣佈的最大值,因此認爲出錯。
2)  Requesti=Need[i].這種情況表示該進程現在對它所需的全部資源一次申請完成。
3)  Requesti<Need[i]. 這種情況表示該進程現在對它所需要的資源進行部分申請,剩餘的資源以後可再次申請。

 
 
銀行家算法的描述
銀行家算法
銀行家算法
銀行家算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章