07第三同步、通信与死锁2.pptVIP

  • 0
  • 0
  • 约7.28千字
  • 约 33页
  • 2017-02-04 发布于湖北
  • 举报
第五章 调度与死锁 3.5 死锁 在多道程序系统中,多个进程并发执行可改善系统资源利用率,提高系统的吞吐量,但也有可能发生一种危险---死锁。 一、死锁的概念 例1: 两个小孩在一起玩耍,一个在玩皮球,另一个玩自动步枪,如果这两个小孩都要对方手中的玩具,而又不肯先放掉自己拿着的玩具,这时就发生了僵持局面。 例2:系统有一台打印机和一台扫描仪,进程P1、P2并发执行,在执行过程中均需使用打印机和扫描仪。 1.死锁的定义 在一组进程中,每个进程都等待被该组进程中其他进程所占有的资源,从而无限期陷入僵持的局面,这种现象称为死锁。 3.产生死锁的必要条件 1971年Coffman总结了系统产生死锁的四个必要条件: 互斥条件:系统中存在临界资源,进程应互斥地使用这些资源。 占有和等待条件:进程在请求资源得不到满足而等待时,不释放已占有的资源。 不剥夺条件:进程已占有的资源只能由属主释放,不能强行剥夺。 循环等待条件:存在循环等待链,链中的每一个进程都在等待下一进程所持有的资源。 4.处理死锁的基本方法 (1)死锁防止(deadlock prevention) 通过设置某些限制条件,去破坏死锁四个必要条件中的一个或多个,来防止死锁。 较易实现,广泛使用,但由于所施加的限制往往太严格,可能导致系统资源利用率和系统吞吐量的降低。 (2)死锁避免 不事先采取限制措施去破坏产生死锁的条件,而

文档评论(0)

1亿VIP精品文档

相关文档