2万+  知识点  标题检索     全文检索
       死锁
               死锁的基本概念
               当若干进程竞争使用资源时,可能每个进程要求的资源都已被另一进程占用,于是也就没有一个进程能继续运行,这种情况称为死锁。例如,P1进程占有资源R1, P2进程占有资源R2,这时,P1又需要资源R2, P2也需要资源R1,它们在等待对方占有的资源时,又不会释放自己占有的资源,因而使双方都进入了无限等待状态。死锁是系统的一种出错状态,不仅浪费大量的系统资源,甚至会导致整个系统的崩溃,所以死锁是应该尽量预防和避免的。
               系统发生死锁时,死锁进程的个数至少为两个;所有死锁进程都有等待资源,其中至少有两个进程已占有资源。产生死锁的情况主要有:进程推进顺序不当;同类资源分配不当;PV操作使用不当。
               产生死锁的4个必要条件
               产生死锁的原因:一是系统提供的资源数量有限,不能满足每个进程的使用;二是多道程序运行时,进程推进顺序不合理。发生死锁必须同时具备下述4个条件。
               .互斥:进程互斥使用资源,任意时刻一个资源只为一个进程所独占,其他进程若请求一个已被占用的资源,只能等待占用者释放后才能使用。
               .不可剥夺(不可抢占):进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放。
               .请求保持:进程每次申请它所需要的一部分资源,在申请新的资源的同时,继续占用已分配到的资源。零星地请求资源,即已获得部分资源后再次请求资源时被阻塞。
               .循环等待:在进程资源有向图中存在一个进程环路,环路中每一个进程已获得的资源同时被下一个进程所请求。
               进程资源有向图由方框、圆圈和有向边3个部分组成。其中,方框表示资源,圆圈表示进程。请求资源:〇→□,箭头由进程指向资源;分配资源:〇←□,箭头由资源指向进程。
               解决死锁的方法
               解决死锁的方法如下。
               .死锁的预防:根据产生死锁的4个必要条件,只要使其中之一不能成立,死锁就不会出现。
               .死锁的避免:最著名的死锁避免算法是Dijkstra提出的银行家算法。
               .死锁的检测:采用合理的死锁检测算法确定死锁的存在,并识别出与死锁有关的进程和资源,以供系统采用适当的解除死锁的措施。
               .死锁的解除:检测到死锁发生后,常采用资源剥夺法和撤销进程法解除死锁。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


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