作者dacvidania (妖精鄉騎士)
看板Grad-ProbAsk
標題[理工] [OS] deadlock
時間Wed Sep 22 22:34:43 2010
想要問恐龍本第八版 deadlock那章的第16題
問: single process可以形成deadlock嗎?
依deadlock detection的algorithm(P.302)來說
只要process i 的Request<=Work,則Process就是deadlocked
我的問題是:假如只有一個process滿足上面的條件,那它一定會滿足deadlock的
四個條件嗎? 似乎有可能不會滿足circular wait
例如:
Allocation Request Work 圖: A B
A B A B A B \ /
P1 0 1 100 0 1 1 P1
因為 Work沒法滿足Request 所以依algorithm的說法 P1是deadlocked,
system is in a deadlocked state
但這樣沒有滿足circular wait 因為沒有cycle,
和課本前面說有deadlock就一定有cycle的說法也不符..
為什麼會這樣呢@@??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.107.41
※ 編輯: dacvidania 來自: 114.32.107.41 (09/22 22:39)
→ juan19283746:應該沒DEADLOCK吧 不確定 等高手解答 09/22 22:39
→ dacvidania:可是課本寫Request<=Work 就是deaklock@@ 09/22 22:40
推 t3825288:deadlock是基於資源足夠的情況下討論 09/23 08:33
→ t3825288:這樣子變成系統完全沒資源可以運用,當然不能運作囉 09/23 08:35
推 christianSK:我覺得沒有deadlock, 這時候有別的process進來 09/23 13:31
→ christianSK:在滿足系統資源下要求資源還是可以運作 09/23 13:32
→ christianSK:只是原先的single process無限期的延宕 09/23 13:32
→ christianSK:這是我的看法 有錯也請大家指正 09/23 13:33
→ dacvidania:課本是說這個single process是deadlock 09/24 00:48
→ dacvidania:第八版302頁@@ 09/24 00:50
推 christianSK:!! 09/24 10:36