操作系统-处理机

带权周转时间是指周转时间与作业实际运行时间的比

银行家算法描述:

  Avilable[j] = K  = Work  是  系统里有Rj类资源 为K

         Need[i,j] = K  是 第i进程 需要的Rj类资源 为K

  Allocation[i,j]  =K  给第i进程已经得到的Rj类资源 为K

    Request i[j] =K; 是进程 Pi的请求向量为K,

  Max[i,j]=K,则表示进程 i 需要 Rj 类资源的最大数目 为 K。 

1  Request i[j] < Need[i,j]    Finish[i]=false  i进程请求的资源比宣布的需要的少,否则报错。

2  Request i[j] <Avilable[j]    Finish[i]=false i进程请求的资源比系统里有Rj类资源少,否则不进行3

3   Avilable[j] =Avilable[j] -Request i[j];    系统里有Rj类资源减少   i进程请求的资源  的数量。

  Allocation[i,j]  = Allocation[i,j]  +Request i[j]

  Need[i,j] =Need[i,j] - Request i[j]

       Finish[i]:=true 安全

    循环进入步骤2

系统执行的安全性算法:

Avilable[j] = K  = Work[j] ,它表示 系统可提供给进程继续运行所需的Rj资源数目

 Need[i,j] = K  是 第i进程 需要的Rj类资源 为K

1 设置 work finish 变量

2 finish  =false

 判断  Need[i,j] < Work[j]  执行3

3 当进程 Pi获得资源后,可顺利执行, 再释放资源

 Work[j]:= Work[j]+Allocation[i,j];  finish  =true

4 Finish[i]:=true 安全

系统安全执行举例看下

原文地址:https://www.cnblogs.com/yizhizhangBlog/p/10095537.html