[操作系统]死锁/RAG图/银行家算法

1.1死锁定义多个进程因为竞争资源而造成一种僵局,没有外力的作用下,这些进程无法向前推进这种僵局可以解释为:每个进程继续执行所需的资源都被另一个进程占用这里举一个简单的例子:假设现在有进程P1,P2,资源R1,R2进程P1的执行情况为:P(R1)输入输出操作p(R2)临界区v(R2)v(R1)进程P2的执行情况为:P(R2)输入输出操作p(R1)...
摘要由CSDN通过智能技术生成

1.1死锁定义

多个进程因为竞争资源而造成一种僵局,没有外力的作用下,这些进程无法向前推进

这种僵局可以解释为:每个进程继续执行所需的资源都被另一个进程占用

这里举一个简单的例子:

假设现在有进程P1,P2,资源R1,R2

进程P1的执行情况为:

P(R1)
输入输出操作
p(R2)
临界区
v(R2)
v(R1)

进程P2的执行情况为:

P(R2)
输入输出操作
p(R1)
临界区
v(R1)
v(R2)

先执行进程P1或者先执行进程P2都不会产生问题

如果同时递交了进程P1和P2呢?---此处的"同时"是指进程P1立刻递交给P2,不是广义上的同时递交

分配资源出现问题,R1的资源分配给P1,R2的资源分配给P2,当P1提出对R2资源的申请请求时,R2资源已经被P2占据,发生死锁

1.2产生死锁的原因:

1.2.1根本原因:资源不足

1.2.2其他原因:

a.竞争非剥夺性资源(一旦占有CPU直至完成或者阻塞)

b.进程间推进顺序(eg.p操作)非法

1.3产生死锁的必要条件:

1互斥

2请求和保持

eg.P1占有࿳

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值