自考操作系统原理第八章死锁要点.pptVIP

  • 8
  • 0
  • 约6.43千字
  • 约 49页
  • 2016-06-06 发布于湖北
  • 举报
死锁 死锁 多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,这些进程将永远不能向前推进。 死锁形成的原因 系统有三种独占型资源R1、R2、R3,有三个进程A、B、C并发执行,进程A需使用资源R3和R1,进程B需使用资源R1和R2,进程C需使用资源R2和R1。问在什么情况下会发生死锁,并说明原因。 死锁 若系统中存在一组进程(两个或多个),它们中每个进程占用了某种资源,又再等待已被该组进程中的其他进程占用的资源,如果这种进程等待永远不能结束,则说系统出现了死锁,或者说这组进程处于死锁状态。 例1:资源分配不当造成的死锁 系统有某类资源5个,被5个进程共享,每个进程要求2个资源。 P1请求1个资源,分配 P2请求1个资源,分配 P3请求1个资源,分配 P4请求1个资源,分配 P5请求1个资源,能否分配? 例2:并发进程执行的速度引起死锁 哲学家吃面条问题 五个哲学家P1,P2,P3,P4,P5,每两个哲学家之间放一根筷子,每个哲学家必须拿到左右手的两个筷子才能取到面条。 哲学家吃面条 S1,S2,S3,S4,S5:semaphore; S1:=1;S2:=1;S3:=1;S4:=1;S5:=1; 不属于死锁范围的情况 1、进程申请了系统中不存在的资源,或者申请的资源数超过了系统拥有的最大资源数而造成的等待。 2、硬件故障引起的循环等待 不属于死锁范围的情况 为

文档评论(0)

1亿VIP精品文档

相关文档