大家好,又见面了,我是你们的朋友全栈君。
《银行家算法C语言代码》由会员分享,可在线阅读,更多相关《银行家算法C语言代码(10页珍藏版)》请在人人文库网上搜索。
1、实验名称:银行家算法声明:杨秀龙学号:专业课:创新实验课111地图老师:霍林实验标题银行家算法实验的目的银行家算法如何避免死锁的更深层次理解设计思想银行家算法假定,根据进程的请求,在该进程的请求中已分配的资源上执行安全算法,如果可以满足其他进程的所有请求,则满足该进程的请求,否则暂停该进程的请求。假设一个系统知道该进程的状态(最大要求、已用资源量、所需资源量和可用资源数),在一个进程发出请求以满足两个大请求(小于所需资源,小于可用资源数)的情况下,将其分配给适合该进程的资源,然后执行安全测试,仅在安全检查后才实际将资源分配给该进程。否则,请求将终止!关键数据结构根据算法的相应要求,int ma。
2、xMM;int allocationMM;int needMM;int availableM;int workm;等阵开始结束输入流程总数输入资源数量输入Max矩阵输入Allocation matrix是否添加流程请求输入流程编号和请求资源否是流程图运行结果图(1)分配流程的相应状态图(2)请求全部资源并请求后释放资源图(3)继续请求并释放其它进程图(2)完成所有进程请求后还原系统资源附录原始代码如下:# include“stdio . h”# define M 50int maxMM;int allocationMM;int needMM;int availableM;Int i、j、n、m。
3、、anquan、x=0;/* 7 5 3 0 1 0 4 3 23 2 2 2 0 0 1 2 29 0 2 3 0 2 6 0 02 2 2 2 1 1 0 1 14 3 0 2 4 3 1 */Main() void check();Int p、q、controlInt req m、allocation1 m m、need 1 m m、available 1m;输入Printf(“进程总数:”)scanf(“% d”,n);Printf(输入资源类别数量:);scanf(“% d”,m);Printf(“要求矩阵输入max : n”);for(I=0);Ineedij)p=1;If(p)Printf(请求资源大于进程所需的资源! n );Elsefor(j=0);Javailablej)/请求是否大于可用资源q=1;If(q)Printf(可用资源无法满足请求! n );Elsefor(j=0);Jworkj)f=0;If (f=1) /找到的要求数少于可以提供的继续运行的进程数 finishI=T;ano=I;/记录安全序列号for(j=0);j0);f=1;for(I=0);I。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130190.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...