带权周转时间是指周转时间与作业实际运行时间的比
银行家算法描述:
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 安全
系统安全执行举例看下