zoukankan      html  css  js  c++  java
  • 操作系统-银行家算法

    某系统有A、B、C、D四类资源可供五个进程P1、P2、P3、P4、P5共享。系统对这四类资源的拥有量为:A类3个、B类14个、C类12个、D类12个。进程对资源的需求和分配情况如下:

     

     按银家算法回答下列问题:

    (1)现在系统中的各类资源还剩余多少?(4分)

    (2)现在系统是否处于安全状态?为什么?(6分)

    (3)现在进程P2提出需要A类资源0个、B类资源4个、C类资源2个和D类资源0个,系统能否满请求?

    (1)

    A: 3-(1+1)=1

    B: 14-(3+6)=5

    C: 12-(1+5+3+1)=2

    D: 12-(2+4+2+4)=0

    Available=(1,5,2,0)

    (2)

    Need=Max-Allocation=

    Available>Need

    (1,5,2,0)>(0 0 0 0) p1

    (1,5,2,0)>(0 0 2 0) p4  p1  Available←(1 5 2 0)+(0 0 1 2)=(1 5 3 2)

    Available>Need

    (1 5 3 2)>(1 0 0 2) p3  p3  Available←(1 5 3 2)+(1 3 5 4)=(2 8 8 6)

    Available>Need

    (2 8 8 6)>(0 7 5 0) p2

    (2 8 8 6)>(0 6 4 2) p5

    存在安全序列,如P1,P3,P4,P5,P2,所以安全

    (3)

    RequestP2(0 4 2 0)<Need2(0 7 5 0)

    RequestP2(0 4 2 0)<Available(1 5 2 0)

    Available=(1 5 2 0)-(0 4 2 0)=(1 1 0 0)

    Allocation2=(1 0 0 0)+(0 4 2 0)=(1 4 2 0)

    Need=Max-Allocation=

    Available>Need

    (1 1 0 0)>(0 0 0 0) P1  Available←(1 1 0 0)+(0 0 1 2)=(1 1 1 2)

    Available>Need

    (1 1 1 2)>(1 0 0 2) P3  Available←(1 1 1 2)+(1 3 5 4)=(2 4 6 6)

    Available>Need

    (2 4 6 6)>(0 3 3 0) P2

    (2 4 6 6)>(0 0 2 0) P4  Available←(2 4 6 6)+(1 4 2 0)+(0 6 3 2)=(3 14 11 8)

    Available>Need

    (3 14 11 8)>(0 6 4 2) P5

    能,因为试探分配后,可⽤资源为1,1,0,0。可找到安全序列,所以可分配。

  • 相关阅读:
    P3 创建项目(下)
    P2 创建项目(中)
    P1 创建项目(上)
    ASP.NET Core 3.x 入门视频(完结)
    网易云微专业《职场人必学的Python技能课》
    01.Python配置与运行
    阶段一-03.地址,订单,支付,定时任务开发-第1章 收货地址功能开发-1-6 收货地址
    ASYNC PROGRAMING IN JAVASCRIPT[转]
    Bluebird-NodeJs的Promise
    理解Nodejs的Event Loop
  • 原文地址:https://www.cnblogs.com/stevioside/p/14208874.html
Copyright © 2011-2022 走看看