1、1、设系统中有 3种类型的资源(A,B,C)和 5个进程P1、P2、P3、P4、P5,A 资源的数量为 17,B 资源的数量为 5,C 资源的数量为 20。在 T0时刻系统状态见下表(T 0时刻系统状态表)所示。系统采用银行家算法实施死锁避免策略。 (12 分)T0时刻系统状态表最大资源需求量 已分配资源数量A B C A B CP1 5 5 9 2 1 2P2 5 3 6 4 0 2P3 4 0 11 4 0 5P4 4 2 5 2 0 4P5 4 2 4 3 1 4T0时刻系统状态表(1)T0时刻是否为安全状态?若是,请给出安全序列。(2)在 T0时刻若进程 P2请求资源(0,3,4) ,
2、是否能实施资源分配?为什么?(3)在(2)的基础上,若进程 P4请求资源(2,0,1) ,是否能实施资源分配?为什么?(4)在(3)的基础上,若进程 P1请求资源(0,2,0) ,是否能实施资源分配?为什么?答:当前的系统状态描述为:最大需求 (已分配到的) (还缺的42510639C4130251A 0126437AC各类资源数量)(系统拥有的资源总量)017R(系统剩余未分配资源)32V(1)在 T0 时刻,由于 V(2,3,3)大于等于(C-A)中 P5 所在行的向量(1,1,0) ,因此V 能满足 P5 的运行,在 P5 运行后,系统的状态为:0425A012647AC745V同样的,
3、在 P5 运行后,V (5,4,7)也大于等于 C-A 中 P4 所在的行(2,2,1) ,则能满足 P4 的运行。P4 运行后,系统的状态为:05421A064317AC14V按照上述同样的方法,P4 运行后,P3,P2,P1 也能按顺序运行。 (备注:考试时需要都写出来) 。因此,在 T0 时刻,存在安全序列: P5、P4 、P3、P2、P1。T0 时刻是安全的。(2)P2 申请资源(0,3,4) ,但在 C-A(还缺资源数量)中,P2 所在行向量是(1,3,4) 。对于资源 R1,P2 的申请超过它所预定的需求。因此,该申请不给予分配。(3)A)P4 申请(2,0,1)不超过 C-A 中
4、 P4 所在行的向量(2,2,1) 。B)V(2,3,3)大于等于 P4 的申请(2,0,1)C)对 P4 的申请(2,0,1)进行预分配,预分配后,系统的状态为:41350A0126437A23V可用资源 V(0,3,2)大于等于 C-A 中 P4 所在的行(0,2,0) ,因此可以满足 P4的运行。P4 运行后,系统的状态为:413051A016437AC73V同样的方法(考试时需要列出) ,可计算出存在安全序列:P4,P5,P3,P2,P1。因此,预分配后系统的状态是安全状态。对于,P4 请求资源(2,0,1) ,给予分配,分配后的系统新状态为:42510639C4135021A0126437AC7R30V(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)进行预分配,预分配后,系统的状态为:41350A012643A21VV(0,2,1)不大于等于 P1 到 P5 任一进程在 C-A 中的向量,因此系统进行预分配后处于不安全状态。对于 P1 申请资源(,) ,不给予分配。