作者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/m.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