[真2][40][多选]设系统中有 4 种类型的资源A,B,C,D和 5 个进程P1,P2,P3,P4,P5。
A 资源的数量为 3,B 资源的数量为 12,C 资源的数量为 14,D 资源的数量为 14。假设某一时刻的系统状态如下表所示,系统采用银行家算法实施死锁避免策略
最大资源需求量 Max | 已分配资源数量 Alocation | |||||||
A | B | C | D | A | B | C | D | |
P1 | 0 | 0 | 4 | 4 | 0 | 0 | 3 | 2 |
P2 | 2 | 7 | 5 | 0 | 1 | 0 | 0 | 0 |
P3 | 3 | 6 | 10 | 10 | 1 | 3 | 5 | 4 |
P4 | 0 | 9 | 8 | 4 | 0 | 3 | 3 | 2 |
P5 | 0 | 6 | 6 | 10 | 0 | 0 | 1 | 4 |
那么,下列进程的执行序列中,哪些是安全序列?
P1→P4→P5→P2→P3
P1→P4→P2→P5→P3
P1→P4→P3→P2→P5
P1→P3→P4→P5→P2
P1→P5→P4→P3→P2
答案
P1→P4→P5→P2→P3
P1→P4→P2→P5→P3
解析
AB【解析】安全序列是指系统按照某种顺序分配资源给进程,能使每个进程都能顺利完成而不会导致死锁的序列。 首先计算出当前剩余资源量:A = 3 - (0 + 1 + 1 + 0 + 0 = 1,B = 12 - (0 + 0 + 3 + 6 + 0 = 3,C = 14 - (3 + 0 + 5 + 5 + 1 = 0,D = 14 - (2 + 0 + 4 + 2 + 4 = 2。 A.对于序列 P1→P4→P5→P2→P3: P1 需要的资源0,0,1,2小于剩余资源1,3,0,2,分配后剩余资源为1,3,0,0 P4 需要的资源0,6,5,2小于剩余资源1,3,0,0,分配后剩余资源为1,0,0,0 P5 需要的资源0,6,6,8小于剩余资源1,0,0,0,分配后剩余资源为1,0,0,0 P2 需要的资源2,7,5,0小于剩余资源1,0,0,0,分配后剩余资源为0,0,0,0 P3 需要的资源3,6,10,10小于剩余资源0,0,0,0,此序列是安全序列。 B.对于序列 P1→P4→P2→P5→P3: P1 需要的资源0,0,1,2小于剩余资源1,3,0,2,分配后剩余资源为1,3,0,0 P4 需要的资源0,6,5,2小于剩余资源1,3,0,0,分配后剩余资源为1,0,0,0 P2 需要的资源2,7,5,0小于剩余资源1,0,0,0,分配后剩余资源为0,0,0,0 P5 需要的资源0,6,6,8小于剩余资源0,0,0,0,分配后剩余资源为0,0,0,0 P3 需要的资源3,6,10,10小于剩余资源0,0,0,0,此序列是安全序列。 C.对于序列 P1→P4→P3→P2→P5: P1 需要的资源0,0,1,2小于剩余资源1,3,0,2,分配后剩余资源为1,3,0,0 P4 需要的资源0,6,5,2小于剩余资源1,3,0,0,分配后剩余资源为1,0,0,0 P3 需要的资源3,6,10,10大于剩余资源1,0,0,0,此序列不是安全序列。 D.对于序列 P1→P3→P2→P4→P5: P1 需要的资源0,0,1,2小于剩余资源1,3,0,2,分配后剩余资源为1,3,0,0 P3 需要的资源3,6,10,10大于剩余资源1,3,0,0,此序列不是安全序列。 E.对于序列 P1→P5→P3→P4→P2: P1 需要的资源0,0,1,2小于剩余资源1,3,0,2,分配后剩余资源为1,3,0,0 P5 需要的资源0,6,6,8大于剩余资源1,3,0,0,此序列不是安全序列。故选择 AB 选项。
转载请注明出处。