1 / 12

操作系统

操作系统. 死锁的基本概念. 主讲:张静. 一、问题引入. 哲学家进餐问题. 进餐失败. 哲学家1. 思考. 进餐. 右边 筷子 已被取走. 同时拿起左边 筷子. 2. 1. 拿起右边 筷子. 拿起左边 筷子. 3. 哲学家2. 5. 哲学家5. 4. 哲学家3. 哲学家4. 图 3.1 哲学家进餐问题. 一 、问题引入. “死锁”?“死机”?. 什么是死锁?. 死锁定义 : 多个进程在运行过程中,因竞争资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。. 死锁 是死机 的原因之一。. 二 、产生死锁的原因.

Download Presentation

操作系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 操作系统 死锁的基本概念 主讲:张静

  2. 一、问题引入 哲学家进餐问题 进餐失败 哲学家1 思考 进餐 右边筷子已被取走 同时拿起左边筷子 2 1 拿起右边筷子 拿起左边筷子 3 哲学家2 5 哲学家5 4 哲学家3 哲学家4 图3.1 哲学家进餐问题

  3. 一 、问题引入 “死锁”?“死机”? 什么是死锁? 死锁定义: 多个进程在运行过程中,因竞争资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。 死锁是死机的原因之一。

  4. 二 、产生死锁的原因 (1)竞争资源 (2)进程间推进顺序不当

  5. 二 产生死锁的原因 1.竞争资源

  6. 二 产生死锁的原因 1.竞争资源 哲学家1 进餐成功 死锁 哲学家1抢夺 哲学家2的筷子 同时拿起左边筷子 2 1 哲学家5 哲学家2 5 3 4 哲学家3 哲学家4 图3.2 筷子是不可剥夺资源 图3.3筷子是可剥夺资源

  7. 二 产生死锁的原因 • 2.进程间推进顺序不当 进程在运行过程中,请求和释放资源的顺序不当,也会导致进程死锁。 [例1]:两个并发进程P1、P2中的申请和释放资源 的语句如下: P1: P2: Request(R1); Request(R2); Request(R2); Request(R1); • Release(R2); • Release(R1); • Release(R1); • Release(R2);

  8. 二 产生死锁的原因 P1 (2) P1:Request(R1); P1:Request(R2); P2:Request(R2); P1:Release(R1); P1:Release(R2); P2:Request(R1); P2:Release(R2); P2:Release(R1); (1) P1: Request(R1); Request(R2); Release(R1); Release(R2); P2: Request(R2); Request(R1); Release(R2); Release(R1); (3) P1:Request(R1); P2:Request(R2); P1:Request(R2); P2:Request(R1); R1 R2 P2 图3.5 进程推进顺序合法(2) 图3.4 进程推进顺序合法(1) 图3.6 进程推进顺序不当

  9. 下节要点提要 1.预防死锁 处理死锁的方法 2.避免死锁 3.检测死锁 4.解除死锁

  10. 课后思考 设系统中n个进程竞争数量为m的不可剥夺资源,每个进程对该资源的最大需求量为w。问:当m、n、w分别为下列值时,判断哪些会发生死锁,请说明理由。(1) m=2,n=2,w=1; (2) m=3,n=2,w=2;(3) m=3 n= 2,w=3(4) m=5,n=3,w=2

  11. 谢谢!

More Related