• 2022-06-03
    设系统有3种类型资源,A B C,和5个进程P1-P5,A资源的数量是17,B为5,C是20 ,在T0时刻系统状态图如下所示。若系统采用银行家算法,实施死锁避免策略。问 1.T0时刻是否为安全状态?若是,给出安全序列。 2.在T0时刻,若进程P2请求资源(0,3,4),能否实施资源分配?为什么? 3.在2 的基础上,若进程P4请求资源(2,0,1),能否实施资源分配?为什么? 4.在3 的基础上,若进程P1请求资源(0,2,0),能否实施资源分配?为什么? 进程 max Allocation Available A B C A B C 233 P1 5 5 9 2 1 2 [br][/br] P2 5 3 6 4 0 2 [br][/br] P3 4 0 11 4 0 5 [br][/br] P4 4 2 5 2 0 4 [br][/br] P5 4 2 4 3 1 4
  • 由题目所给出的最大资源需求量和已分配资源数量,可以计算出T0时刻各进程的资源需求量Need,Need=最大资源需求量-分配资源数量: ① 利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分析情况 进程 需求量 Allocation Available A B C A B C 233 P1 3 4 7 2 1 2 [br][/br] P2 1 3 4 4 0 2 [br][/br] P3 0 0 6 4 0 5 [br][/br] P4 2 2 1 2 0 4 [br][/br] P5 1 1 0 3 1 4 [br][/br] [br][/br] Work Need Allocation Work+Allo Finish P5 233 110 314 547 true P4 547 221 204 7411 true P3 7411 006 405 11416 true P2 11416 134 402 15418 true P1 15418 347 212 17520 true ② 在T0时刻若进程P2请求资源(0,3,4), 因请求资源数(0,3,4)>剩余资源数(2,2,3),所以不能分配。 ③ 在②的基础上,若进程P4请求资源(2,0,1), P4请求资源(2,0,1)≤ P4资源需求量(2,2,1) P4请求资源(2,0,1)≤ 剩余资源数(2,3,3) 试分配并修改相应数据结构,资源分配情况如下: 进程 需求量 Allocation Available A B C A B C 032 P1 3 4 7 2 1 2 [br][/br] P2 1 3 4 4 0 2 [br][/br] P3 0 0 6 4 0 5 [br][/br] P4 0 2 0 4 0 5 [br][/br] P5 1 1 0 3 1 4 [br][/br] [br][/br] Work Need Allocation Work+Allo Finish P4 032 020 405 437 true P5 437 110 314 7411 true P3 7411 006 405 11416 true P2 11416 134 402 15418 true P1 15418 347 212 17520 true ④ 在③的基础上,若进程P1请求资源(0,2,0),按银行家算法进行检查: P1请求资源(0,2,0)≤ P1资源需求量(3,4,7) P1请求资源(0,2,0)≤ 剩余资源数(0,3,2) 试分配并修改相应数据结构,资源分配情况如下: [br][/br] Allocation Need Available P1 232 327 012 P2 402 134 [br][/br] P3 405 006 [br][/br] P4 405 020 [br][/br] P5 314 110 [br][/br] 再利用安全性算法检查系统是否安全, 可用资源Available(0,1,2)已不能满足任何进程的资源需求, 故系统进入不安全状态,此时系统不能将资源分配给P1。

    举一反三

    内容

    • 0

      一个系统中共存在A、B、C、D四类资源,有P0到P3四个进程,系统在某一时刻的资源分配情况如下表所示:[br][/br] [br][/br] Max Allocation Available A B C D A B C D A B C D P0 6 0 1 2 4 0 0 1 3 2 2 1 P1 1 7 5 0 1 1 0 0 P2 2 3 5 6 1 0 5 4 P3 1 6 5 3 0 6 3 3 请回答下列问题: (1) 需求(Need)矩阵的内容是怎样的? (2) 系统是否处于安全状态?为什么? (3) 若这时P1请求资源(0,0,1,0),是否能实施资源分配?为什么

    • 1

      假设5个进程P0,P1,P2,P3,P4,共享3类资源R1,R2,R3,这些资源总数分别为18、6、22。T0时刻的资源分配情况如下表所示,此时存在一个安全序列是()。 进程 已分配资源 资源最大需求 R1 R2 R3 R1 R2 R3 P0 3 2 3 5 5 10 P1 4 0 3 5 3 6 P2 4 0 5 4 0 11 P3 2 0 4 4 2 5 P4 3 1 4 4 2 4

    • 2

      假设5个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3,这些资源总数分别为18、6、22。T0时刻的资源分配情况如下表所示,此时存在的一个安全序列是( )。 [br][/br] 已分配资源 R1 R2 R3 资源最大需求 R1 R2 R3 P10 3 2 3 5 5 10 P1 4 0 3 5 3 6 P2 4 0 5 4 0 11 P3 2 0 4 4 2 5 P4 3 1 4 4 2 4 A: P0,P2,P4,P1,P3 B: P1,P0,P3,P4,P2 C: P2,P1,P0,P3,P4 D: P3,P4,P2,P1,P0

    • 3

      某系统有A、B、C三类资源可供五个进程P0、P1、P2、P3、P4共享。系统对这三类资源的拥有量为:A类10个,B类5个,C类7个。T0时刻系统状态如下表所示。 进程 最大资源需求量 已分配资源数量 A B C A B C P0 7 5 3 0 1 0 P1 3 2 2 2 0 0 P2 9 0 2 3 0 2 P3 2 2 2 2 1 1 P4 4 3 3 0 0 2 (1)T0时刻A,B,C还剩下的可用资源数分别是多少? (2)T0时刻系统是否处于安全状态?为什么? (3)P1请求资源(1,0,2),系统是否分配?为什么? (4)在(3)的基础上,P4请求资源(3,3,0),系统是否进行分配?为什么?

    • 4

      设系统中有3种类型的资源(A,B,C)和5个进程P1、P2、P3、P4、P5,在T0时刻系统状态见下表所示。系统采用银行家算法实施死锁避免策略。进程已分配资源数量Allocation还需要资源数量Need系统可用资源数量AvailableA B CA B CA B CP13 2 22 4 32 5 4P22 0 25 3 4P33 0 56 3 6P45 0 42 4 1P51 1 41 3 0(1)T0时刻是否为安全状态?为什么?(2)在T0时刻若进程P3请求资源(1,1,4),是否能实施资源分配?为什么?