第4章 度与死锁2.pptVIP

  • 4
  • 0
  • 约 71页
  • 2017-02-04 发布于湖北
  • 举报
4.5 死锁 多道程序的并发执行可以改善系统的资源利用率,但也可能导致死锁的发生。 4.5.1 死锁的概念 死锁是指多个进程因竞争系统资源或相互通信而造成的一种僵局,若无外力作用,这些进程都将永远不能向前推进。 日常生活中的死锁例 假设一条河上有一座独木桥,若桥两端的人相向而行…… 4.5.2 死锁产生的原因和必要条件 死锁产生的原因是与资源的使用相关。下面介绍资源分类。 可剥夺和非剥夺资源 可剥夺资源是指某进程获得这类资源后,该资源可以被其他进程或系统剥夺。如CPU,存储器。 非剥夺资源又称不可剥夺资源,是指系统将这类资源分配给进程后,再不能强行收回,只能在进程使用完后主动释放。如打印机、读卡机。 永久性资源和消耗性资源 永久性资源:可顺序重复使用的资源。如打印机。 消耗性资源:由一个进程产生,被另一个进程使用短暂时间后便无用的资源,又称为临时性资源。如消息。 死锁产生的原因 死锁产生的原因是: 竞争资源:多个进程竞争资源,而资源又不能同时满足其需求。 进程推进顺序不当:进程申请资源和释放资源的顺序不当。 竞争非剥夺资源引起的死锁 竞争非剥夺资源例。如,打印机R1和读卡机R2供进程P1和P2共享。 竞争消耗性资源引起的死锁 如消息通信按下述顺序进行,则不会发生死锁: P1:...Release(S1);Request(S2);... P2:...Release(S2);Re

文档评论(0)

1亿VIP精品文档

相关文档