银行家算法简析
銀行家算法簡析
銀行家算法簡析
最具有代表性的避免死鎖算法
所需數據結構
算法解析
request 是進程Pi的請求向量,表示某進程請求資源數目
安全算法
假設將資源分配給進程,運算出 allocation + work (new available)即為當前進程結束后空閑出的資源,再找出新的進程滿足need < new available 將其finish = true , new available + = allocation 重復執行 , 如果finish 全為1,則安全。
例題
| P0 | 0 0 3 2 | 0 0 1 2 | 1 6 2 2 | 1 | 1,6,5,4 |
| P1 | 1 0 0 0 | 1 7 5 0 | 4 | 2,9,9,10 | |
| P2 | 1 3 5 4 | 2 3 5 6 | . | 5 | 3,12 ,14,14 |
| P3 | 0 3 3 2 | 0 6 5 2 | 2 | 1,9,8,6 | |
| P4 | 0 0 1 4 | 0 6 5 6 | 3 | 1,9,9,10 |
1.該狀態是否安全
2.若進程P2 提出請求 (1,2,2,2) 后 是否分配資源?
答
1.如表黃色部分 有 安全序列,則安全
2.當P2 提出 12 2 2 時,request < available , request < need ;
available = 0 4 0 0 ;
| P2 | 2 5 7 6 | 1 1 3 4 | 0,4,0,0. |
| P0 | 0 0 3 2 | 0 0 1 2 | |
| P1 | 1 0 0 0 | 1 7 5 0 | |
| P3 | 0 3 3 2 | 0 6 5 2 | |
| P4 | 0 0 1 4 | 0 6 5 6 |
available 無法滿足進程其他資源,不分配資源。
參考資料
1.《計算機操作系統第四版》,湯小丹 ,梁紅兵 ,等。
總結
- 上一篇: php发送get、post请求的几种方法
- 下一篇: java lock接口_Java Loc