05第五章死锁与饥饿1说课.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 死锁与饥饿;5.1 死锁的概念;定 义: 一组进程中的每一个进程, 均无限期地等待此组进程中 某个其它进程占有的、 因而永远无法得到的资源, 这种现象称为进程死锁。 定义死锁时刻: 无限等待发生时; 等待发生前(已注定死锁)。;;5.2 死锁的类型;5.2 死锁的类型(Cont.);5.3 死锁的条件;5.4 死锁的处理;5.5 资源分配图;资源分配图图示: 进 程: 资源类: 申请边: 进程到资源类; 分配边: 由资源实例到进程; 申 请: pi 申请 rj 中的一个资源实例, 由 pi 向 rj 画一条申请边, 如可满足, 改为分配边。 释 放: 去掉分配边。;例5.1 (无环路,无死锁) P = { p1, p2, p3 }, R = { r1(1), r2(2), r3(1), r4(3) } E= { (p1,r1), (p2,r3), (r1,p2), (r2,p1), (r2,p2), (r3,p3), (r4,P3) };5.5 资源分配图(Cont.);5.5 资源分配图(Cont.);5.6 死锁的预防;5.6.1 预先分配策略;5.6.2 有序分配策略;证明:有序分配法无死锁(deadlock free)。 反证: 假定死锁, 则出现循环等待, 即在时刻; 优 点 与预先分配相比, 资源利用率提高。 缺 点 资源编号困难; 按号申请增加使用者负担, 一旦不按号申请仍可能死锁; 为保持按序申请, 某些暂时不用的资源 也需提前申请, 牺牲资源利用率。;有序分配法: 资源编号: f (D) = 1 ; f (B) = 2 ; f (A) = 3 ; f (C) = 4 ; Var S1 , S2 , S3 , S4 : semaphore ; (1,1,1,1) 4个信号量分别对应D、B、A、C的互斥进入。;Procedure S: P(S1); 驶入D; P(S2); 驶入B; V(S1); P(S3); 驶入A; V(S2); 驶出A; V(S3);5.7 死锁的避免;5.7.1 安全状态与 安全进程序列;Banker’s algorithm (E.W. Dijkstra) 进程: 事先申明所需资源最大量(并不分配) Claim=Max 系统: 对每个可满足的资源申请命令进行安全性检查。 安全: 分配; 不安全: 不分配 状况: P = { p1 , p2 , … , pn } ; R = { r1 , r2 , … , rm } ;;数据结构: int available[m]; //系统可用资源 int claim[n, m]; //进程最大需求 int allocation[n, m]; //进程当前已分配资源 int need[n, m]; //进程尚需要的资源 int request[ n, m]; //进程当前请求的资源 临时变量(安全检查时用): int work[m]; //可分配资源和已分配资源之和 int finish[n]; //检查时标识是否有未完成进程;定义如下数组操作: 设X、Y是下标为 1~k 的一维数组, 定义 X ≤ Y ? ?j (1 ≤ j ≤ k), X[j] ≤ Y[j] ; X = Y ? ?j (1 ≤ j ≤ k), X[j] = Y[j] ; X = c ? ?j (1 ≤ j ≤ k), X[j] = c ; X ± Y ? ?j (1 ≤ j ≤ k), X[j] ± Y[j] 。;5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Cont.);5.7.2 银行家算法(Co

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档