(操作系统原理)死锁原理

进程-资源分配图:

设一个计算机系统中有许多类资源和许多个进程。每一个资源类用一个方框表示,方框中的黑圆点表示该资源类中的各个资源,每个进程用一个圆圈来表示,用有向边来表示进程申请资源和资源被分配的情况。约定Pi→Rj 为请求边,表示进程Pi 申请资源类Rj 中的一个资源得不到满足而处于等待Rj 类资源的状态,该有向边从进程开始指到方框的边缘,表示进程Pi 申请Rj 类中的一个资源。反之Rj→Pi 为分配边,表示Rj 类中的一个资源已被进程Pi 占用,由于已把一个具体的资源分给了进程Pi,故该有向边从方框内的某个黑圆点出发指向进程。


检测系统是否处于死锁状态:

(1)如果进程-资源分配图中无环路,则此时系统没有发生死锁。
(2)如果进程-资源分配图中有环路,且每个资源类中仅有一个资源,则系统中发生了死锁,环路中的进程便为死锁进程。
(3)如果进程-资源分配图中有环路,且涉及的资源类中有多个资源,则环路的存在未必就会发生死锁。如果能在进程-资源分配图中找出一个既不阻塞又非独立的进程,它在有限的时间内有可能获得所需资源类中的资源继续执行,直到运行结束,再释放其占有的全部资源。相当于消去了图中此进程的所有请求边和分配边,使之成为孤立结点。接着可使进程-资源分配图中另一个进程获得前面进程释放的资源继续执行,直到完成又释放出它所占用的所有资源,相当于又消去了图中若干请求边和分配边。如此下去,经过一系列简化后,若能消去图中所有边,使所有进程成为孤立结点,则该图是可完全简化的;否则则称该图是不可完全简化的。系统为死锁状态的充分条件是:当且仅当该状态的进程-资源分配图是不可完全简化的。

该充分条件称为死锁定理。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值