操作系统:银行家算法(C语言代码)详解
发布日期:2021-06-30 15:41:38 浏览次数:3 分类:技术文章

本文共 1654 字,大约阅读时间需要 5 分钟。

银行家算法流程图:

银行家算法自然语言描述:设Requesti是进程Pi的请求向量,如果Requesti[j]=K,表示进程Pi需要K个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查:

(1)如果Requesti[j]≤  Need[i,j],便转向步骤2;否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。

(2)如果Requesti[j]≤  Available[j],便转向步骤3;否则,表示尚无足够资源,Pi须等待。

(3)系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:Available[j]=  Available[j]-  Requesti[j];  Allocation[i,j]=  Allocation[i,j]+  Requesti[j];  Need[i,j]=  Need[i,j]-  Requesti[j];

(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi,以完成本次分配;否则,将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待。

实例:

假定系统中有五个进程{P0, P1, P2, P3, P4}和三类资源{A, B, C},各种资源的数量分别为10、5、7,在T0时刻的资源分配情况下图所示。输入M资源总数量、Max矩阵和Allocation矩阵显示初始状态表(1)判断T0时刻是否安全?存在一个安全序列<P1,P3,P0,P2,P4>

输入M资源总数量、Max矩阵和Allocation矩阵

显示初始状态表

1.判断T0时刻是否安全?

存在一个安全序列<P1,P3,P0,P2,P4>

2. P1请求资源:P1发出请求向量Request1(1,0,2),调用银行家算法检查是否能够分配?

输入

存在一个安全序列<P1,P3,P4,P2,P0>,显示新的状态表。

3.P4请求资源:P4发出请求向量Request4(3,3,0),系统按银行家算法进行检查:

输入

① Request4(3, 3, 0)≤Need4(4, 3, 1);

② Request4(3, 3, 0) >Available(2, 3, 0),让P4堵塞等待。状态表没有变化

4.P0请求资源:P0发出请求向量Requst0(0,2,0),系统按银行家算法进行检查:

输入

① Request0(0, 2, 0)≤Need0(7, 4, 3);

② Request0(0, 2, 0)≤Available(2, 3, 0);系统暂时先假定可为P0分配资源,并修改有关数据,如下图所示。

可用资源Available(2,1,0)不能满足任何进程的需求,进入不安全状态。此时系统不分配资源给P0。

输出:找不到安全序列,状态表没有变化

5.若P0发出请求向量Requst0(0,1,0),系统是否将资源分配给它?

输入

存在一个安全序列<P0,P1,P2,P3,P4>,显示新的状态表

程序代码:

#include 
#include
#include
#include
#define M 3 #define N 5int Resource[M];int Max[N][M];int Allocation[N][M];int Need[N][M];int Available[M];int Work[M];int Finish[N]; int List[N]; //存放安全序列的下标序列 void initial() //创建初始状态:先输入 Resource、Max和 Allocation,再计算出 Need、Available。 { int i,j; printf("Resource--输入M种资源的总数量:\n"); for(i=0;i
=0 && reqid

 

 

转载地址:https://jxnuxwt.blog.csdn.net/article/details/115496923 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:遗传算法(Genetic Algorithm)从了解到实例运用(上)(python)
下一篇:解决IDEA:Failed to locate the winutils binary in the hadoop binary path

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月13日 11时03分48秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章