【6-7】死锁相关、银行家算法.pptVIP

  • 4
  • 0
  • 约7.7千字
  • 约 42页
  • 2018-03-02 发布于江西
  • 举报
【6-7】死锁相关、银行家算法

山东农业大学计算机系 关于死锁 多道程序系统借助并发执行改善资源利用率,提高系统吞吐量,但可能发生一种危险——死锁。 死锁(Deadlock):指多个进程在运行过程中,因争夺资源而造成的一种僵局。当进程处于这种状态时,若无外力作用,它们都将无法再向前推进。 3.5 产生死锁的原因和必要条件 产生死锁的原因可归结为如下两点: 竞争资源。系统中供多个进程共享的资源如打印机、公用队列等的数目不满足需要时,会引起资源竞争而产生死锁。 进程间推进顺序非法。进程在运行过程中,请求和释放资源的顺序不当,同样会导致死锁。 1、竞争资源引起进程死锁 可把系统中的资源分为两类: 可剥夺和非剥夺性资源 可剥夺性资源:分配给进程后可以被高优先级的进程剥夺。如CPU和主存。 不可剥夺性资源:分配给进程后只能在进程用完后释放。如磁带机、打印机等。 永久性资源和临时性资源 永久性:打印机。可顺序重复使用 临时性:进程产生被其他进程短暂使用的资源,如数据资源:“生产者/消费者”算法中的信号量。。它可能引起死锁。 2、进程推进顺序不当引起死锁 进程在运行中具有异步性特征,多个进程按向前推进的顺序有两种情况: 推进顺序合法 推进顺序非法 3、 产生死锁的必要条件 虽然进程在运行过程中可能发生死锁——原因。 但并不能够发生死锁有具体形成条件 形成死锁的四个必要条件 四个条件在死锁产生都缺一就不会造成 互斥条件:进程对所

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档