- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
死锁产生的原因 死锁产生的原因 3、同类资源分配不当引起死锁 若系统中有m个资源被n个进程共享,当每个进程都要求k个资源。而m n*k时,即资源数小于进程所需要的总数时,如果分配不得当就可能引起死锁。 例3,m 5,n 5,k 2,采用的分配策略是为每个进程轮流分配。 死锁产生的原因 4、进程通讯引起死锁 在进程通讯时使用的信件可以看作是一种临时性资源,如果对信件的发送和接收不加限制的话,则可能引起死锁 例4:进程p1等待进程p3的信件s3来到后再向进程p2发送信件s1;p2又要等待p1信件来到后再向p3发送信件s2;而p3也要等待p2的信件s2来到后才能发出信件s3 死锁预防 对进程有关资源的活动加限制,所有进程遵循这种限制,即可保证没有死锁发生。 优点:简单,系统不需要做什么。 缺点:对进程的约束,违反约束仍可能死锁。 预防方法: 预先分配法; 有序分配法。 预先分配法 进程:运行前申请所需全部资源; 系统: 能够满足,全部分配, 否则,一个也不分配。 破坏“hold-and-wait”条件 缺点: 资源利用效率低; 一次提出申请困难。 有序分配法 在这种方法中规定,系统将所有的资源按其类型进行线性排队,并赋予不同的序号。所有进程对资源的请求必须严格按资源序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现环路,因而摒弃了“循环等待”条件。 有序分配法 5.6.2 有序分配法 资源分配 银行家算法例子 银行家算法的保守性 银行家算法的保守性 死锁检测 死锁检测算法 死锁检测算法 Remarks 死锁例子 死锁综合处理 各种处理死锁的方法都有局限性,无论哪种方法都无法适用于各类资源。1973年,Howard提出了死锁综合处理的建议。其思想是:把系统中的全部资源分成几大类,整体上采用资源顺序分配法,在对每类资源根据其特点选择最适合的方法。 例如将系统资源分成以下4类: (1)内部资源(系统所用的资源,如PCB表、页表等)。 (2)主存。 (3)作业资源(如行打印机、磁带驱动器、文件等)。 (4)辅存。 按编号递增次序申请资源。对第(1)、(4)两类资源采用预分配法;对第(2)类采用剥夺法;对第(3)类采用死锁避免法。而对那些哪种方法也不适合的资源,可用死锁检测程序定期对系统进行检测,发现死锁后再排除死锁。 过河问题 * * * * * * * * * * * * * * * * * * * * * * * * 判断下列资源分配图所标示的状态是否为死锁 p1 p2 p3 化简下面的资源分配图,并利用死锁定理给出相应的结论 p2 p1 考虑因素: 死锁发生频度; 死锁影响进程。 1. 等待时检测: 发现早,恢复代价小,开销大(overhead 。 2. 定时检测: 3. 资源(eg. CPU)利用率下降时检测。 数据结构: Available: array[1..m]of integer; Allocation: array[1..n,1..m]of integer; Request: array[1..n,1..m]of integer; 临时变量: Work: array[1..m]of integer; Finish: array[1..n]of boolean; Work: Available; Finish: false; 有满足条件的i: Finish[i] false Request[i]?Work Finish[i] true; Work: Work+Allocation[i] T ?i ,finish[i] true T F F 无死锁 死锁 Finish[I] true for allocation[I] 0 1. 上述算法可以检测到参与死锁的全部进程,包括占有资 源和不占有资源的进程。 2. 如果希望只检测占有资源的进程,初始化时: Finish[i] true, for Allocation[I] 0 例子:R A 7 ,B 2 ,C 6 ; P p0,p1,p2,p3,p4 Allocation Request Available Work Finish A B C A B C A B C A B C p0: 0 1 0 0 0 0 0 0 0 p1: 2 0 0 2 0 2 p2: 3 0 3 0 0 0 p3: 2 1 1 1 0 0 p4: 0 0 2 0 0 2 未死锁。 此时,Request[2] 0,0,1 , 死锁,参与死锁进程 p1,p2,p3,p4 死锁检测 考虑因素: 死锁发生频度; 死锁影响进程。 1. 等待
您可能关注的文档
最近下载
- SYT 5547-2000螺杆钻具使用、维修和管理.pdf
- 第三方产品节能环保ccc证书---服务器.docx VIP
- 一种连续酶解制备蛋白肽的系统及工艺.pdf VIP
- (高清版)B-T 40815.2-2021 电气和电子设备机械结构 符合英制系列和公制系列机柜的热管理 第2部分:强迫风冷的确定方法.pdf VIP
- 2025幼儿园园级家委会ppt全新 .pdf VIP
- PEP人教版六年级下册英语全册导学案.pdf VIP
- 鲁科版六年级上生物思维导图.pptx
- 电商运营方案电商运营方案.pptx VIP
- 计数型MSA测量系统分析报告(模板).xls VIP
- 发展低空经济课件.pptx VIP
文档评论(0)