操作系统-死锁概念理解

在多道程序系统中,由于多个进程的并发执行,改善了系统资源的利用率并提高了系统的处理能力。然而,多个进程的并发执行也带来了新的问题——死锁。所谓死锁是指多个进程因竞争资源而造成的一种僵局(互相等待),若无外力作用,这些进程都将无法向前推进。

产生死锁条件。    
    产生死锁的主要原因是供共享的系统资源不足,资源分配策略和进程进顺序不当。系统资源既可能是可重复使用的永久性资源,也可能是消耗性的临时资源。
死锁的必要条件是:
    1、互斥条件、
    2、保持和等待条件、
    3、不剥夺条件、
    4、环路等待条件。

解决死锁有两种策略:
    一种是在死锁发生前采用的预防和避免策略;
    另一种是在死锁发生后采用的检测与恢复策略

 

死锁的几种处理策略的比较见表2-14。
 

表2-14 死锁处理策略的比较
资源分配策略各种可能模式主要优点主要缺点
死锁预防保守,宁可资源闲置一次请求所有资源,资 源剥夺,资源按序分配适用于做突发式处理的进程,不必进行剥夺效率低,进程初始化时间延长;剥夺次数过多;不便灵活申请新资源
死锁避免是”预防“和”检测“ 的折中(在运行时判断是否可能死锁)寻找可能的安全允许顺序不必进行剥夺必须知道将来的资源需求;进程不能被长时间阻塞
死锁检测宽松,只要允许就分配资源定期检查死锁是否已经发生不延长进程初始化时间,允许对死锁进行现场处理通过剥夺解除死锁,造成损失
 

死锁避免策略,则是在系统进行资源分配时,先执行一个死锁避免算法(典型的如银行家算法),以保证本次分配不会导致死锁发生。由于资源分配很频繁,因此死锁避免策略要耗费大量的 CPU 和时间。
 

例:

某系统中有3个并发进程,都需要同类资源4 个,试问该系统

不会发生死锁的最少资源数是(B )

A、 9 B、 10 C、 11 D、 12

 

例:

假设某计算机系统中资源R的可用数为6,系统中有3个进程竞

争R,且每个进程都需要 i 个R,该系统可能会发生死锁的最小

i 值是(C) 。若信号量S的当前值为-2,则R的可用数和等待R

的进程数分别为(D) 。

A. 1 B. 2 C. 3 D. 4

A. 0、 0 B. 0、 1 C. 1、 0 D. 0、 2

 

 

http://blog.csdn.net/bigpudding24/article/details/48608579

https://blog.csdn.net/weiyongle1996/article/details/71511956

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值