4、调度与死锁
磁盘效率的计算
调度算法
2分钟
0第一轮:A B C D E
8第二轮:A B D E
6第三轮: A B E
4第四轮:A E
2第五轮:A
银行家算法
例4.2.11 设系统中有三种类型的资源(A、B、C)和五个进程(P1、P2、P3、P4、P5),A资源的数量为17,B资源的数量为5,C资源的数量为20。在T0时刻系统状态如表1和表2所示。系统采用银行家算法实施死锁避免策略。
(1) T0时刻是否为安全状态?若是,请给出安全序列。
(2) 在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?
(3) 在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?
(4) 在③的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么?
表4.1 T0时刻系统状态
进程 | 最大资源需求量 | 已分配资源数量 | ||||
---|---|---|---|---|---|---|
A | B | C | A | B | C | |
P1 | 5 | 5 | 9 | 2 | 1 | 2 |
P2 | 5 | 3 | 6 | 4 | 0 | 2 |
P3 | 4 | 0 | 11 | 4 | 0 | 5 |
P4 | 4 | 2 | 5 | 2 | 0 | 4 |
P5 | 4 | 2 | 4 | 3 | 1 | 4 |
表4.2 T0时刻系统状态
A B C | |
---|---|
剩余资源数 | 2 3 3 |
解
(1) 系统在T0时刻:存在一个安全的序列(P4、P5、P1、P2、P3),因而是安全的。
(2) 若在T0时刻进程P2请求资源(0,3,4),因为可用资源的数量不够,所以只能推迟分配。
(3) 在(2)基础上,若进程P4请求资源(2,0,1),系统可以予以满足。因为当分配给P4后,系统剩余的可用资源为(0,3,2),仍能找到一个安全的序列,比如(P4、P5、P1、P2、P3)。
(4) 在(3)的基础上,若进程P1请求资源(0,2,0),系统不予以分配。因为分配出去后,系统找不到一个安全序列。
3.2.6
司机售票员同步问题