[理工] [OS] monitor , deadlock

作者: kather (Kather)   2015-01-10 09:09:20
monitor

signal and wait
signal and continue
前者是程式在monitor跑時遇到執行signal,就立刻等待讓被叫醒的執行
後者則是繼續作,被叫醒的要下次搶到monitor再執行
這樣理解有錯嗎?
我的問題是 第二種
恐龍上說
當被叫醒的再次執行時,對應的condition可能不是wait狀態,所以採用第一種,這是什
麼意思?
Deadlock
Resource-Allocation-Gragh Algo
書上說執行時間n平方
但是找cycle不是(n+e)嗎?
是因為邊最多Cn取2所以n平方嗎?
作者: qoojordon (穎川琦)   2015-01-10 09:23:00
回答deadlock,如果依照bank Algo那種判斷的邏輯,RAG應該是用adjacent matrix實做,判斷cycle就需要n^2
作者: kather (Kather)   2015-01-10 09:36:00
囧? 用adj list會有什麼問題
作者: qoojordon (穎川琦)   2015-01-10 09:42:00
沒問題,但複雜度就不會是n^2,我覺得只是恐龍書自己也沒講清楚RAG的圖是用甚麼方式實做,但延續bank的邏輯用matrix會比較好想吧
作者: shanbb (Moriz)   2015-01-10 10:10:00
自己一點點想法。當P繼續執行期間,可能改變被叫醒的可以恢復執行的條件。所以Q可能會錯過執行的機會。
作者: mark82021 (Mark)   2015-01-10 11:20:00
其實signal and wait可細分成兩種 一個是signal and wait 另一是 signal and exit 後者就是你說的非wait狀態

Links booklink

Contact Us: admin [ a t ] ucptt.com