作者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)
1F:推 nowar100:真的很谢谢你 07/10 17:38
2F:推 nowar100:所以这种题目只有观察後由小到大一直往上试罗 07/10 17:51
3F:→ nowar100:看书上什麽都没写 还以为是什麽秒杀法 Orz|| 07/10 17:51
4F:→ nowar100:总而言之 谢谢你帮忙解惑 07/10 17:52