操作系统原理:死锁的特征,预防,避免,恢复

目录

一、死锁的资源占用图

二、死锁出现的特点

三、死锁预防

四、死锁避免

五、死锁检测和恢复


一、死锁的资源占用图

循环依赖导致资源无法释放而每个线程任务都无法执行完成。其中R表示资源集合,P表示进程/线程 ,每个点表示资源数,箭头表示请求和占用。

图 1)P1 依赖于 R1,而R1的剩余资源需要P2释放....用图来表示

     P1->R1;R1->P2; P2->R3;P3->R2;R2->{P1,P2}; 这就有一个循环依赖的环; 

    P1->P2,P2->P3  即 P1->P3 。由于P3依赖于P1和P2的其中1个释放资源P3->{P1,P2},且P1和P2都依赖于P3 同时 {P1,P2}->P3造成了死锁。

图2)并不是说资源占用图种有给“环”,就会发生死锁。

P1依赖于 P2,P3的其中一个释放资源 P1->{P2,P3} ,

P3->R2,  R2->{P1,P4} ,即 P3->{P1,P4} 其中P2没有依赖,P4没有依赖,虽然图中P1,P3存在一个“环”,但是这个环并不是进程间的依赖环,资源有机会被释放。所以不会构成死锁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值