首页 > 知识点
       死锁
知识路径:  > 计算机系统基础知识  > 计算机软件基础知识  > 操作系统基础知识  > 处理机管理  > 进程管理
被考次数:12次     被考频率:高频率     总体答错率:48%     知识难度系数:     
考试要求:掌握      相关知识点:26个      


>>  更多  本知识点历年真题      
        在计算机系统中有许多互斥资源(如磁带机、打印机和绘图仪等)或软件资源(如进程表、临界区等),若两个进程同时使用打印机,或同时进入临界区必然会出现问题。所谓死锁,是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。
               死锁举例
               根据例4.4~例4.6的情况分析不难看出,产生死锁的原因为竞争资源及进程推进顺序非法。当系统中有多个进程所共享的资源不足以同时满足它们的需求时,将引起它们对资源的竞争导致死锁。其中,进程推进顺序非法,是指进程在运行的过程中请求和释放资源的顺序不当,导致进程死锁。
               进程资源图
               进程资源有向图由方框、圆圈和有向边三部分组成。其中方框表示资源,圆圈表示进程。请求资源:〇→□,箭头由进程指向资源;分配资源:〇←□,箭头由资源指向进程。
               例如,系统中有进程P1P2P3,资源R1R2R3。假设系统中R1R2R3的资源数分别为1、1和2,其中P1占用了1台R1,又申请1台R3P2占用了1台R2,又申请1台R1P3占用了2台R3,又申请1台R2。对于这种情况可用进程资源图来描述,如下图所示。
               
               进程资源有向图
               死锁产生的原因及4个必要条件
               产生死锁的4个必要条件是互斥条件、请求保持条件、不可剥夺条件和环路条件。当发生死锁时,在进程资源有向图中必构成环路,其中每个进程占有了下一个进程申请的一个或多个资源,导致进程申请的资源无法满足而产生死锁。
               死锁的处理
               死锁的处理策略主要有4种:鸵鸟策略(即不理睬策略)、预防策略、避免策略和检测与解除死锁。
                      死锁预防
                      死锁预防是采用某种策略限制并发进程对资源的请求,破坏死锁产生的4个必要条件之一,使系统在任何时刻都不满足死锁的必要条件。预防死锁的两种策略如下:
                      (1)预先静态分配法。破坏了“不可剥夺条件”,预先分配所需资源,保证不等待资源。该方法的问题是降低了对资源的利用率,降低进程的并发程度;有时可能无法预先知道所需资源。
                      (2)资源有序分配法。破坏了“环路条件”,把资源分类按顺序排列,保证不形成环路。该方法存在的问题是限制进程对资源的请求;由于资源的排序占用系统开销。
                      死锁避免
                      死锁预防是设法破坏产生死锁的4个必要条件之一,严格防止死锁的产生。死锁避免则不那么严格地限制产生死锁的必要条件。最著名的死锁避免算法是Dijkstra提出的银行家算法,死锁避免算法需要很大的系统开销。
                      银行家算法对于进程发出的每一个系统可以满足的资源请求命令加以检测,如果发现分配资源后系统进入不安全状态,则不予分配;若分配资源后系统仍处于安全状态,则实施分配。与死锁预防策略相比,它提高了资源的利用率,但检测分配资源后系统是否安全增加了系统开销。
                      所谓安全状态,是指系统能按某种顺序如<P1P2,…,Pn>来为每个进程分配其所需资源,直到最大需求,使每个进程都可顺序完成。通常称<P1P2,…,Pn>序列为安全序列。若系统不存在这样一个安全序列,则称系统处于不安全状态。
                      死锁检测
                      解决死锁的另一条途径是使用死锁检测方法,这种方法对资源的分配不加限制,即允许死锁产生。但系统定时地运行一个死锁检测程序,判断系统是否发生死锁,若检测到有死锁,则设法加以解除。
                      死锁解除
                      死锁解除通常采用资源剥夺法和撤销进程法。资源剥夺法从一些进程那里强行剥夺足够数量的资源分配给死锁进程;撤销进程法根据某种策略逐个地撤销死锁进程,直到解除死锁为止。
 
   本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2021年上半年
   数据库系统工程..
   上午试卷 综合知识
第21题
选择题
在死锁产生的必要条件中,可以使用( )方法破坏“不可剥夺条件”。

35%
   2017年上半年
   数据库系统工程..
   上午试卷 综合知识
第24题
选择题
某系统中有3个并发进程竞争资源R ,每个进程都需要5个R ,那么至少有( ) 个R,才能保证系统不会发生死锁。

56%
>>  更多  本知识点历年真题
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

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


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

客服

QQ 486577830

点击这里给我发消息

商务合作

QQ 486577830

点击这里给我发消息

客服邮箱service@rkpass.cn


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