作者whisp1222 ()
看板Grad-ProbAsk
標題Re: [理工] [OS]-deadlock ( Banker's Algo )
時間Fri Jul 10 17:24:24 2009
※ 引述《nowar100 (拋磚引玉)》之銘言:
: 這可能是個很基本的問題,但是我卡腦了囧
書上這部份後來都懶得寫 因為一寫要寫很多
可能剛開始很仔細 後來都直接給答案 只有較簡單的的確可以用看得看出來
: 書上答案都直接出來 Orz||
Allocation Max Need(Max-allocation) Available
A B C D E A B C D E A B C D E A B C D E
P1 1 0 2 1 1 1 1 5 1 2 0 1 3 0 1 0 0 x 1 1
P2 2 0 1 1 0 5 2 2 1 0 3 2 1 0 0
P3 1 1 0 1 0 3 1 3 1 0 2 0 3 0 0
P4 1 1 1 1 0 1 1 2 2 1 0 0 1 1 1
假設是1(因為根據resource A B 沒有其他process滿足 而C最小需要1)
先執行P4 Available + Allocation[P4]
0 0 1 1 1 ========> 0 0 1 1 1 + 1 1 1 1 0 = 1 1 2 2 1 (沒有滿足的process)
根據resource A B , C多1 P1就可以執行 所以X變成2
先執行P4
0 0 2 1 1 ========> 0 0 2 1 1 + 1 1 1 1 0 = 1 1 3 2 1
(以下可省略 考試沒那閒時間 高手連這整篇都省略)
然後繼續測下去可以滿足safe state
所以X=2 P4=>P1=>P3=>P2
: 問最小的x為何,可使其保持在safe state?
: 先謝謝了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.245.6
※ 編輯: whisp1222 來自: 140.116.245.6 (07/10 17:37)
推 nowar100:真的很謝謝你 07/10 17:38
推 nowar100:所以這種題目只有觀察後由小到大一直往上試囉 07/10 17:51
→ nowar100:看書上什麼都沒寫 還以為是什麼秒殺法 Orz|| 07/10 17:51
→ nowar100:總而言之 謝謝你幫忙解惑 07/10 17:52