[理工] 97交大OS deadlock

看板Grad-ProbAsk作者 (Garin)時間8年前 (2018/01/19 18:36), 7年前編輯推噓12(1209)
留言21則, 9人參與, 8年前最新討論串1/1
題目: 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://www.ptt.cc/bbs/Grad-ProbAsk/M.1516358204.A.746.html

01/19 19:06, 8年前 , 1F
我記得是可能會有
01/19 19:06, 1F

01/19 19:06, 8年前 , 2F
有可能不會有阿
01/19 19:06, 2F

01/19 19:08, 8年前 , 3F
那只是必要條件而已
01/19 19:08, 3F

01/19 19:56, 8年前 , 4F
will
01/19 19:56, 4F

01/19 20:34, 8年前 , 5F
他用will是有可能發生的意思 如果用must那才會錯
01/19 20:34, 5F

01/19 20:39, 8年前 , 6F
不會啊那是必要條件,反例像RAG圖就是了
01/19 20:39, 6F

01/19 20:40, 8年前 , 7F
不過洪的意思感覺will等於一定會
01/19 20:40, 7F

01/19 21:04, 8年前 , 8F
這大概算反例吧
01/19 21:04, 8F

01/19 21:04, 8年前 , 9F

01/19 23:39, 8年前 , 10F
剛剛參考了一些解答 will是比較強烈的說法 應該用can
01/19 23:39, 10F

, , 11F
其他解答有些是給B
B我翻筆記是說x.signal若沒有process卡住就會無作用 所以以上總結是 死結能發生(不一定發生)<=>四個條件成立 有人知道交大最後答案給多少嗎? ※ 編輯: crystallove (1.200.63.87), 01/20/2018 08:58:55

01/20 10:45, 8年前 , 12F
死結四個條件是必要條件,但不是充分條件。死結發
01/20 10:45, 12F

01/20 10:45, 8年前 , 13F
生時,這4個條件一定也會發生。但反過來說,這4個
01/20 10:45, 13F

01/20 10:45, 8年前 , 14F
條件發生時,不一定會有死結
01/20 10:45, 14F

01/20 14:54, 8年前 , 15F
答案是D 有4個條件也不一定會發生
01/20 14:54, 15F

01/20 14:56, 8年前 , 16F
不過我覺得B也對 (答案是看參考解答
01/20 14:56, 16F
B若強制執行x.signal互斥條件就不會成立了 ※ 編輯: crystallove (1.200.63.87), 01/20/2018 23:41:56

01/21 00:21, 8年前 , 17F
若是signal初值為0,不就可以了?
01/21 00:21, 17F
如果連續兩次signal呢 ※ 編輯: crystallove (1.200.63.87), 01/21/2018 07:13:17

01/21 10:43, 8年前 , 18F
但他說可以值行,所以只要存在就好了吧
01/21 10:43, 18F
但是會影響系統的狀態吧 ※ 編輯: crystallove (1.200.63.87), 01/21/2018 15:32:29

01/21 17:06, 8年前 , 19F
這題答案是B,題目只是要問當沒有process suspended,執行x
01/21 17:06, 19F

01/21 17:06, 8年前 , 20F
.signal會不會有影響
01/21 17:06, 20F

01/21 17:09, 8年前 , 21F
原文書上是這樣寫的https://i.imgur.com/jmtNaKy.jpg
01/21 17:09, 21F
原來如此我懂了!我題意理解錯誤 x.signal是可以執行但是無作用 我原本是想成若以semaphore製作monitor的x.signal來看 x.signal不作if判斷的話,一定會出錯 謝謝g大跟q大 ※ 編輯: crystallove (1.200.63.87), 01/22/2018 13:16:59
文章代碼(AID): #1QOSeyT6 (Grad-ProbAsk)