操作系统第6部分并发:死锁和饥饿学习课件.pptVIP

  • 4
  • 0
  • 约 53页
  • 2016-12-06 发布于江苏
  • 举报

操作系统第6部分并发:死锁和饥饿学习课件.ppt

* Claim A B C Allocation A B C Need A B C Available A B C P0 7 5 3 0 1 0 7 4 3 3 3 2 P1 3 2 2 2 0 0 1 2 2 P2 9 0 2 3 0 2 6 0 0 P3 2 2 2 2 1 1 0 1 1 P4 4 3 3 0 0 2 4 3 1 转换(Need) * ① T0时刻是否为安全状态? 0 1 0 True 10 5 7 7 4 3 10 4 7 P0 3 0 2 True 10 4 7 6 0 0 7 4 5 P2 0 0 2 True 7 4 5 4 3 1 7 4 3 P4 2 1 1 True 7 4 3 0 1 1 5 3 2 P3 2 0 0 True 5 3 2 1 2 2 3 3 2 P1 Allocation A B C finish Work+allocation A B C Need A B C Work A B C T0时刻是安全的,存在安全序列P1,P3,P4,P2,P0 * 1 Request(1,0,2)=Need(1,2,2); 2 Request(1,0,2)=Available(3,3,2); 3 系统试探为P1分配资源后,资源情况是: 0 2 0 3 0 2 2 3 0 4 3 1 0 0 2 4 3 3 P4 0 1 1 2 1 1 2 2 2 P3 6 0 0 3 0 2 9 0 2 P2 3 2 2 P1 7 4 3 0 1 0 7 5 3 P0 Available A B C Need A B C Allocation A B C Claim A B C 4 执行安全性算法,得到安全序列 P1, P3, P4, P0, P2 : Work A B C Need A B C Allocation A B C Work+allocation A B C finish P1 2 3 0 0 2 0 3 0 2 5 3 2 True P3 5 3 2 0 1 1 2 1 1 7 4 3 True P4 7 4 3 4 3 1 0 0 2 7 4 5 True P0 7 4 5 7 4 3 0 1 0 7 5 5 True P2 7 5 5 6 0 0 3 0 2 10 5 7 True ② P1请求资源Request(1,0,2), 执行银行家算法: * ④ P0请求资源Request(0,2,0) ,执行银行家算法: 1 Request(0,2,0)= Need(7,4,3); 2 Request(0,2,0)= Available(2,3,0); 3 系统试探为P0分配资源后,资源情况是: Claim A B C Allocation A B C Need A B C Available A B C P0 7 5 3 0 3 0 7 2 3 2 1 0 P1 3 2 2 3 0 2 0 2 0 P2 9 0 2 3 0 2 6 0 0 P3 2 2 2 2 1 1 0 1 1 P4 4 3 3 0 0 2 4 3 1 4 再进行安全性检查,Available(2, 1, 0)不能满足任何进程,进入不安全状态,恢复旧数据结构, P0等待。 ③ P4请求资源Request(3,3,0) ,执行银行家算法: 1 Req

文档评论(0)

1亿VIP精品文档

相关文档