全部科目 > 程序员 >
2010年上半年 上午试卷 综合知识
第 27 题
知识点 死锁  
章/节 软件基础知识  
 
 
若一个单处理器的计算机系统中同时存在3个并发进程,则同一时刻允许占用处理器的进程数(26);如果这3个进程都要求使用2个互斥资源R,那么系统不产生死锁的最少的R资源数为(27) 个。
 
  A.  3
 
  B.  4
 
  C.  5
 
  D.  6
 
 




 
 
相关试题     进程管理 

  第25题    2016年上半年  
假设某企业有一个仓库。该企业的生产部员工不断地将生产的产品送入仓库,销售部员工不断地从仓库中取产品。假设该仓库能容纳n件产品。采用PV操作实现生产和销售的同步模型如下图所示,该模型设置..

  第26题    2019年上半年  
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、..

  第26题    2017年下半年  
假设系统有n(n≥5)个并发进程共享资源R,且资源R的可用数为2。若采用PV操作,则相应的信号量S的取值范围应为( )。

 
知识点讲解
· 死锁
 
        死锁
               死锁的基本概念
               当若干进程竞争使用资源时,可能每个进程要求的资源都已被另一进程占用,于是也就没有一个进程能继续运行,这种情况称为死锁。例如,P1进程占有资源R1, P2进程占有资源R2,这时,P1又需要资源R2, P2也需要资源R1,它们在等待对方占有的资源时,又不会释放自己占有的资源,因而使双方都进入了无限等待状态。死锁是系统的一种出错状态,不仅浪费大量的系统资源,甚至会导致整个系统的崩溃,所以死锁是应该尽量预防和避免的。
               系统发生死锁时,死锁进程的个数至少为两个;所有死锁进程都有等待资源,其中至少有两个进程已占有资源。产生死锁的情况主要有:进程推进顺序不当;同类资源分配不当;PV操作使用不当。
               产生死锁的4个必要条件
               产生死锁的原因:一是系统提供的资源数量有限,不能满足每个进程的使用;二是多道程序运行时,进程推进顺序不合理。发生死锁必须同时具备下述4个条件。
               .互斥:进程互斥使用资源,任意时刻一个资源只为一个进程所独占,其他进程若请求一个已被占用的资源,只能等待占用者释放后才能使用。
               .不可剥夺(不可抢占):进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放。
               .请求保持:进程每次申请它所需要的一部分资源,在申请新的资源的同时,继续占用已分配到的资源。零星地请求资源,即已获得部分资源后再次请求资源时被阻塞。
               .循环等待:在进程资源有向图中存在一个进程环路,环路中每一个进程已获得的资源同时被下一个进程所请求。
               进程资源有向图由方框、圆圈和有向边3个部分组成。其中,方框表示资源,圆圈表示进程。请求资源:〇→□,箭头由进程指向资源;分配资源:〇←□,箭头由资源指向进程。
               解决死锁的方法
               解决死锁的方法如下。
               .死锁的预防:根据产生死锁的4个必要条件,只要使其中之一不能成立,死锁就不会出现。
               .死锁的避免:最著名的死锁避免算法是Dijkstra提出的银行家算法。
               .死锁的检测:采用合理的死锁检测算法确定死锁的存在,并识别出与死锁有关的进程和资源,以供系统采用适当的解除死锁的措施。
               .死锁的解除:检测到死锁发生后,常采用资源剥夺法和撤销进程法解除死锁。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有