第七章死锁 第7章死锁 Z.1死锁问题的提出 ■7.2死锁的必要条件 ■7.3死锁的预防 74死锁的避免和银行家算法 ■7.5死锁检测与恢复
第七章 死锁 第7章 死锁 ◼ 7.1 死锁问题的提出 ◼ 7.2 死锁的必要条件 ◼ 7.3 死锁的预防 ◼ 7.4 死锁的避免和银行家算法 ◼ 7.5死锁检测与恢复
第七章死锁 7.1死锁问题的提出 ■定义 死锁是计算机系统和进程所处的一种状态。 在系统中的一组进程由于竞争系统资源或由 于彼此通信而永远阻塞,称这些进程处于死 锁状态 ■死锁是多道程序系统中普遍存在的一种 现象
第七章 死锁 7.1 死锁问题的提出 ◼ 定义 ◼ 死锁是计算机系统和进程所处的一种状态。 在系统中的一组进程由于竞争系统资源或由 于彼此通信而永远阻塞,称这些进程处于死 锁状态 ◼ 死锁是多道程序系统中普遍存在的一种 现象
第七章死锁 7.1死锁问题的提出 死锁问题描述 例如:系统中存在的两个进程P1和P2,它们在执行 中都需要某种资源R1和R2(如磁盘和打印机);由 于对资源申请的顺序等其它原因,某时刻进程P1得 到了资源R1,进程P2得到了资源R2;而进程P1必 须得到R2才能继续执行,进程P2必须得到R1才能继 续执行,两个进程都占用了对方需要的资源,不能 释放,又都在等待对方占用的资源;这样的两个进 程只能永远的处于阻塞状态,成为死锁进程 这种情况也会发生在多个进程、多种资源上
第七章 死锁 7.1 死锁问题的提出 ◼ 死锁问题描述 ◼ 例如:系统中存在的两个进程P1和P2,它们在执行 中都需要某种资源R1和R2(如磁盘和打印机);由 于对资源申请的顺序等其它原因,某时刻进程P1得 到了资源R1,进程P2得到了资源R2;而进程P1必 须得到R2才能继续执行,进程P2必须得到R1才能继 续执行,两个进程都占用了对方需要的资源,不能 释放,又都在等待对方占用的资源;这样的两个进 程只能永远的处于阻塞状态,成为死锁进程。 ◼ 这种情况也会发生在多个进程、多种资源上
第七章死锁 进程的进展 释放输入机 释放打印机 禁区 死横点 占用输入机 危险区 占用打印机 占用输入机释放输入机 甲进程的进展 占用打印机释放打印机
第七章 死锁 乙进程的进展 甲进程的进展 X Y 占用打印机 占用输入机 释放输入机 释放打印机 占用输入机 占用打印机释放输入机释放打印机 死锁点 危险区禁区
第七章死锁 7.2死锁的必要条件 ■死锁的根本原因是竞争资源 ■资源:一个逻辑资源,简称资源,使之 可以引起一个进程进入等待状态的事物
第七章 死锁 7.2 死锁的必要条件 ◼ 死锁的根本原因是竞争资源 ◼ 资源:一个逻辑资源,简称资源,使之 可以引起一个进程进入等待状态的事物