安全序列:P2,P1,P3
多资源银行家算法
■ 实际系统中可能有多种资源,每类资源 有不同的个数
■ 多资源银行家算法中定义了
■ 分配矩阵 ■ 请求矩阵 ■ 请求向量 ■ 可用资源向量(剩余资源向量)
多资源银行家算法
总的资源E、已分配资源P、剩余资源A
多资源银行家算法
■ 查找右边矩阵是否有一行,其未被满足的设 备数均小于或等于向量A。如果找不到,则系 统将死锁,因为任何进程都无法运行结束
问,如果此时p0请求(0,2,0),P1请求(1,0, 2),P4请求(3,3,0),应满足哪个?
ABC P0 0 1 0 P1 2 0 0 P2 3 0 2 P3 2 1 1 P4 0 0 2
ABC P0 7 4 3 P1 1 2 2 P2 6 0 0 P3 0 1 1 P4 4 3 1
分析:可知: E=(10,5,7), P=(7,2,5),A=(3,3,2)
1、T0时刻的安全性:
利用安全性算法对T0时刻的资源情况进行分析,可知,如果所有 进程按其最大需求请求时,T0时刻存在一个安全序列 {P1,P3,P4,P2,P0},故系统安全,考察p0,p1,p4的请求矩阵,找出 最小的距离。
2、P1请求资源:
1 P1请求(1,0,2)小于P1的需求(1,2,2),且小于系统剩余A,因此 可以分配
第七章 死锁
■ 掌握
■ 死锁的基本概念 ■ 死锁的必要条件 ■ 死锁的预防 ■ 死锁的避免(单资源银行家算法)
■ 了解
■ 死锁的检测和恢复
7.1 死锁问题的提出
■ 死锁定义:死锁是指系统中的一组进 程,由于竞争系统资源或由于彼此通 信而永远阻塞,称这些进程处于死锁 状态。
■ 死锁的产生是与资源分配策略和并发 进程执行的速度有关