假设5个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3,这些资源总数分别为18、6、22。T0时刻的资源分配情况如下表所示,此时存在的一个安全序列是( )。
A. P0, P2, P4, P1, P3
B. P1, P0, P3, P4, P2
C. P2, P1, P0, P3, P4
D. P3, P4, P2, P1, P0
先将表格转化为已分配资源、尚需资源...
用户登录可进行刷题及查看答案
先将表格转化为已分配资源、尚需资源、可用资源三栏的形式。进程Pi尚需资源=进程Pi资源最大需求-进程Pi已分配资源,可用资源=资源总数-所有进程已分配资源之和。
使用银行家算法,保证可用资源大于或等于某进行尚需资源,该进程可以输出到序列,并回收该进程已分配资源。若所有进程均可被输出到序列,则存在安全序列,该输出序列为安全序列,否则不存在安全序列。
这道题安全序列比较多。
方法一:直接推导
根据第一步能够输出到序列的进程分情况讨论。
总共有3×3!+4!+4!=66种安全序列。
将选项逐一和安全序列进行比对,只有D正确。
本题选D。
方法二:用选项模拟
只有D能够模拟成功。
登录后提交答案
暂无评论,来抢沙发