美文网首页
化简资源分配图

化简资源分配图

作者: 春风化雨2018 | 来源:发表于2018-12-06 10:31 被阅读0次

化简资源分配图

方法步骤

第一步:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞(“不阻塞”即:系统有足够的空闲资源分配给它)的

第二步:把不阻塞的进程的所有边都去掉,形成一个孤立的点,再把系统分配给这个进程的资源回收回来

第三步:看剩下的进程有哪些是不阻塞的,然后又把它们逐个变成孤立的点。

第四步:最后,所有的资源和进程都变成孤立的点。这样的图就叫做“可完全简化”。

如果一个图可完全简化,则不会产生死锁;如果一个图不可完全简化(即:图中还有“边”存在),则会产生死锁。这就是“死锁定理”。 

实例

第一步:先看R1资源,它有三个箭头是向外的,因此它一共给进程分配了3个资源,此时,R1没有空闲的资源剩余。

第二步:再看R2资源,它有一个箭头是向外的,因此它

给进程分配了1个资源,此时,R2还剩余一个空闲的资源没分配。

第三步:看完资源,再来看进程,先看进程P2,它只申请一个R1资源,但此时R1资源已经用光了,所以,进程P2进入阻塞状态,因此,进程P2暂时不能化成孤立的点。

第四步:再看进程P1,它只申请一个R2资源,此时,系统还剩余一个R2资源没分配,因此,可以满足P1的申请。这样,进程P1便得到了它的全部所需资源,所以它不会进入阻塞状态,可以一直运行,等它运行完后,我们再把它的所有的资源释放。相当于:可以把P1的所有的边去掉,变成一个孤立的点,如下图所示:

第五步:进程P1运行完后,释放其所占有的资源(2个R1资源和1个R2资源),系统回收这些资源后,空闲的资源便变成2个R1资源和1个R2资源,由于进程P2一直在申请一个R1资源,所以此时,系统能满足它的申请。这样,进程P2便得到了它的全部所需资源,所以它不会进入阻塞状态,可以一直运行,等它运行完后,我们再把它的所有的资源释放。相当于:可以把P2的所有的边都去掉,化成一个孤立的点,变成下图: 

由于这个资源分配图可完全简化,因此,不会产生死锁。 

而如果资源分配图中的点,最终不能够化成孤立的点,则进程资源图不能够完全简化,从而会发生死锁。

相关文章

  • 化简资源分配图

    化简资源分配图 方法步骤 第一步:先看系统还剩下多少资源没分配,再看有哪些进程是不阻塞(“不阻塞”即:系统有足够的...

  • 资源分配图

    为了准确的描述死锁问题,我们引出了资源分配图 什么是资源分配图 资源分配图是一种有向图,学过离散数学,我们知道一个...

  • 关于组织关系的远近思考

    任何组织都有权利分配问题,组织中的每个成员都会拼命讨好资源分配者,已图能够得到更多资源。 资源分配者知道他们的用意...

  • 队列的应用

    树和图的遍历 系统调用资源分配

  • 做事成功资源分配图

    清晰的目标是成功的航标,这是努力的方向! 关键点小结:1—做目标分析———第一步:列出关键的目标,目标具体化清晰;...

  • 9.3 死锁检测与解除

    当系统为进程分配资源时,若未采取任何限制性措施,则系统应该提供检测和解除死锁的手段。 资源分配图 系统死锁,可利用...

  • 死锁检测 资源分配图 资源共享

    求大神帮忙 一个c++小程序呀

  • 资源分配

    社会的不公平,主要原因是社会资源分配的不公平。所为的绝对的公平是不存在的,只是人与人之间在权利上和资源上享有的相对...

  • 资源分配

    很多人都喜欢说,我有钱了,就会很快乐了。然而他们中的一部分人真的有了钱以后,快乐或许是增加一些。但生活还是没体现出...

  • 资源分配

    开始进行资源调度

网友评论

      本文标题:化简资源分配图

      本文链接:https://www.haomeiwen.com/subject/ieuncqtx.html