[理工] [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