Operating System-work5

請判斷系統是否處於安全狀態。需要完整的解題過程。
Suppose we have four resources, RA, RB, RC and RD.
Given below allocation matrix, available vector and maximal requirement matrix.
Max
RA RB RC RD
P0 3 2 1 4
P1 0 2 5 2
P2 5 1 0 5
P3 1 5 3 0
P4 3 0 3 3
Allocation
RA RB RC RD
P0 1 0 1 1
P1 0 1 2 1
P2 4 0 0 3
P3 1 2 1 0
P4 1 0 3 0
Available
RA RB RC RD
1 2 2 2

A:處於安全感狀態:
過程:
判斷條件:Need[i]<=work —>work =work + allocation
判斷順序:

  • P0:2203 <= 1222 不成立
  • P1:0131 <= 1222 不成立,爲什麼呢,兩組中的第三個數前面的3>後面的2,所以不成立
  • P2:1102 <= 1222 成立;avail =1222 + 4003 = 5225;safe_seq:P2
  • P3:0320 <= 5225(及時跟新) 不成立;同理第二個數
  • P4:2003 <= 5225 成立;avail = 5225+1030 = 6255;safe_seq:P2,P4


一輪之後如果沒有全部通過,則去掉一再safe_seq中的再次順序判斷

  • P0:2203 <= 6255 成立;avail = 6255 +1011 =7266;
  • P1:0131 <= 7266 成立;avail = 7266 +0121 =7387;
  • P3:0320 <= 7387 成立;avail = 7387 + 1210 = 8597;

最終:
res:safe_seq:P2->P4->P0->P1->P3
∴處於安全狀態

關於銀行家算法詳細理解:

Operating System——圖解 + 代碼理解好操作系統中的" 銀行家算法 "

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