1、设系统中有 3 种类型的资源(A,B,C)与 5 个进程 P1、P2、P3、P4、P5,A 资源的数量为 17,B资源的数量为 5,C 资源的数量为 20在T0 时刻系统状态见下表(T0 时刻系统状态表)所示系统采用银行家算法实施死锁避免策略 (12 分)T0时刻系统状态表最大资源需求已分配资源数量量ABABCCP1552192P2534062P34040115P4422054P5423144T0 时刻系统状态表第 1 页(1)T0时刻是否为安全状态?若是,请给出安全序列2)在 T0时刻若进程 P2 请求资源(0,3,4) ,是否能实施资源分配?为什么?(3)在(2)的基础上,若进程P4 请求资源(2,0,1) ,是否能实施资源分配?为什么?(4)在(3)的基础上,若进程P1 请求资源(0,2,0) ,是否能实施资源分配?为什么?答:当前的系统状态描述为:(1)在 T0 时刻,由于V(2,3,3)大于等于(C-A)中P5 所在行的向量(1,1,0) ,因此V 能满足 P5 的运行,在P5 运行后,系统的状态为:同样的,在 P5 运行后,V(5,4,7)也大于等于 C-A 中 P4 所在的行(2,2,1) ,则能满足 P4 的运行。
P4 运行后,系统的状态为:按照上述同样的方法,P4 运行后,P3,P2,P1 也能按顺序运行备注:考试时需要都写出来) 因此,在 T0 时刻,存在安全序列:P5、P4、P3、P2、P1T0 时刻是安全的2)P2 申请资源(0,3,4) ,但在 C-A 中,P2 所在行向量是(1,3,4) 对于资源 R1,P2 的申请超过它所预定的需求因此,该申请第 2 页不给予分配3)A)P4 申请(2,0,1)不超过C-A 中 P4 所在行的向量(2,2,1) B)V(2,3,3)大于等于 P4 的申请(2,0,1)C)对 P4 的申请(2,0,1)进行预分配,预分配后,系统的状态为:可用资源 V(0,3,2)大于等于 C-A 中 P4 所在的行(0,2,0) ,因此可以满足 P4 的运行P4 运行后,系统的状态为:同样的方法(考试时需要列出) ,可计算出存在安全序列:P4,P5,P3,P2,P1因此,预分配后系统的状态是安全状态对于,P4 请求资源(2,0,1) ,给予分配,分配后的系统新状态为:(4)进程 P1 请求资源(0,2,0)A)P1 申请(0,2,0)不超过C-A 中 P1 所在行的向量(3,4,7) 。
B)V(0,3,2)大于等于 P1 的申请(0,2,0)C)对 P1 的申请(0,2,0)进行预分配,预分配后,系统的状态为:V(0,2,1)不大于等于 P1 到 P5 任一进程在 C-A 中的向量,第 3 页因此系统进行预分配后处于不安全状态对于 P1 申请资源(,) ,不给予分配第 4 页。