西安邮电大学操作系统课件第三章.ppt

图3-19 每类资源有多个时的情况   2.死锁定理   我们可以利用把资源分配图加以简化的方法(图3-19),来检测当系统处于S状态时,是否为死锁状态。简化方法如下:   (1) 在资源分配图中,找出一个既不阻塞又非独立的进程结点Pi。在顺利的情况下,Pi可获得所需资源而继续运行,直至运行完毕,再释放其所占有的全部资源,这相当于消去Pi的请求边和分配边,使之成为孤立的结点。在图3-20(a)中,将P1的两个分配边和一个请求边消去,便形成图(b)所示的情况。 图3-20 资源分配图的简化   (2) ?P1释放资源后,便可使P2获得资源而继续运行,直至P2完成后又释放出它所占有的全部资源,形成图(c)所示的情况,即将P2的两条请求边和一条分配边消去。   (3) 在进行一系列的简化后,若能消去图中所有的边,使所有的进程结点都成为孤立结点,则称该图是可完全简化的;若不能通过任何过程使该图完全简化,则称该图是不可完全简化的。   3.死锁检测中的数据结构   死锁检测中的数据结构类似于银行家算法中的数据结构:   (1) 可利用资源向量Available,它表示了m类资源中每一类资源的可用数目。   (2) 把不占用资源的进程(向量Allocation=0)记入L表中,即Li∪L。   (3) 从进程集合中找到一个Requesti≤Work的进程,做如下处理:① 将其资源分配图简化

文档评论(0)

1亿VIP精品文档

相关文档