作者crystallove (Garin)
看板Grad-ProbAsk
标题[理工] 97交大OS deadlock
时间Fri Jan 19 18:36:41 2018
题目:
https://i.imgur.com/bbmc1TQ.jpg
解答:
https://i.imgur.com/40V77pF.jpg
洪逸笔记:
https://i.imgur.com/ymjXFyT.jpg
四个条件成立一定会有死结吗?
还是只是can发生
有可能不会有?
维基:
https://i.imgur.com/jJRVBhD.jpg
A deadlock situation on a resource can arise if and only if all of the followi
ng
conditions hold simultaneously in a system
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.200.63.87
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1516358204.A.746.html
1F:推 nO25948: 我记得是可能会有01/19 19:06
2F:→ a28238341a: 有可能不会有阿01/19 19:06
3F:→ a28238341a: 那只是必要条件而已01/19 19:08
4F:推 a020304888a: will01/19 19:56
5F:推 taida: 他用will是有可能发生的意思 如果用must那才会错01/19 20:34
6F:推 ping780520: 不会啊那是必要条件,反例像RAG图就是了01/19 20:39
7F:推 a020304888a: 不过洪的意思感觉will等於一定会01/19 20:40
8F:推 q1qip123: 这大概算反例吧01/19 21:04
10F:推 taida: 刚刚参考了一些解答 will是比较强烈的说法 应该用can01/19 23:39
11F:→ taida: 其他解答有些是给B
B我翻笔记是说x.signal若没有process卡住就会无作用
所以以上总结是
死结能发生(不一定发生)<=>四个条件成立
有人知道交大最後答案给多少吗?
※ 编辑: crystallove (1.200.63.87), 01/20/2018 08:58:55
12F:推 microchianag: 死结四个条件是必要条件,但不是充分条件。死结发01/20 10:45
13F:→ microchianag: 生时,这4个条件一定也会发生。但反过来说,这4个01/20 10:45
14F:→ microchianag: 条件发生时,不一定会有死结01/20 10:45
15F:推 can18: 答案是D 有4个条件也不一定会发生01/20 14:54
16F:→ can18: 不过我觉得B也对 (答案是看参考解答01/20 14:56
B若强制执行x.signal互斥条件就不会成立了
※ 编辑: crystallove (1.200.63.87), 01/20/2018 23:41:56
17F:推 q1qip123: 若是signal初值为0,不就可以了? 01/21 00:21
如果连续两次signal呢
※ 编辑: crystallove (1.200.63.87), 01/21/2018 07:13:17
18F:推 q1qip123: 但他说可以值行,所以只要存在就好了吧 01/21 10:43
但是会影响系统的状态吧
※ 编辑: crystallove (1.200.63.87), 01/21/2018 15:32:29
19F:推 gouya: 这题答案是B,题目只是要问当没有process suspended,执行x 01/21 17:06
20F:→ gouya: .signal会不会有影响 01/21 17:06
原来如此我懂了!我题意理解错误
x.signal是可以执行但是无作用
我原本是想成若以semaphore制作monitor的x.signal来看
x.signal不作if判断的话,一定会出错
谢谢g大跟q大
※ 编辑: crystallove (1.200.63.87), 01/22/2018 13:16:59