欢迎来到天天文库
浏览记录
ID:38465225
大小:48.50 KB
页数:8页
时间:2019-06-13
《银行家算法实现【用死锁避免方法来处理申请独占设备可能造成的死锁】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、银行家算法银行家可以把一定数量的资金供多个用户周转使用,为保证资金的安全银行家规定:1.当一个用户对资金的最大需求量不超过银行家现有的资金就要接纳该用户;2.用户可以分期贷款,但垡的总数不能超过最大需求量;3.当银行家现有的资金不能满足用户的沿需垡数时,对用户的贷款可推迟支付,但总能使用户在有限的时间里得到贷款;4当用户得到所需的全部资金后,一定能在有限的时间里归还所有的资金.假设共有3类资源ABC,分别为10,5,7个进程列表存在文件中,格式为进程名对A类资源需求数量 对B类资源需求数量 对c资源需求数量输出每个进程的处理结果本程序包括:银行
2、家算法 VC++调试通过 (C)copyrightbyNeo 欢迎大家测试请问题请Email:sony006@163.com*/#include#include#include#include#include#includeconstintMAX_P=20;constintMAXA=10; //定义A类资源的数量constintMAXB=5;constintMAXC=7;typedefstructnode{inta;in
3、tb;intc;intremain_a;intremain_b;intremain_c;}bank;typedefstructnode1{charname[20];inta;intb;intc;intneed_a;intneed_b;intneed_c;}process;bankbanker;processprocesses[MAX_P];intquantity;//初始化函数voidinitial(){inti;banker.a=MAXA;banker.b=MAXB;banker.c=MAXC;banker.remain_a=MAXA;banke
4、r.remain_b=MAXB;banker.remain_c=MAXC;for(i=0;i5、d_b,need_c;inti;cout<>name;for(i=0;i>need_a; 6、cout<<"本作业所需B类资源:"; cin>>need_b; cout<<"本作业所需C类资源:"; cin>>need_c; t=1; cout<banker.remain_a){ cout<<"错误,所需A类资源大于银行家所剩A类资源"<banker.remain_b){ cout<<"错误,所需B类资源大于银行家所剩B类资源"<banker.re7、main_c){ cout<<"错误,所需C类资源大于银行家所剩C类资源"<8、l; }}}//为作业申请资源voidbid(){charname[20];inti,p;inta,b,c;intfla
5、d_b,need_c;inti;cout<>name;for(i=0;i>need_a;
6、cout<<"本作业所需B类资源:"; cin>>need_b; cout<<"本作业所需C类资源:"; cin>>need_c; t=1; cout<banker.remain_a){ cout<<"错误,所需A类资源大于银行家所剩A类资源"<banker.remain_b){ cout<<"错误,所需B类资源大于银行家所剩B类资源"<banker.re
7、main_c){ cout<<"错误,所需C类资源大于银行家所剩C类资源"<8、l; }}}//为作业申请资源voidbid(){charname[20];inti,p;inta,b,c;intfla
8、l; }}}//为作业申请资源voidbid(){charname[20];inti,p;inta,b,c;intfla
此文档下载收益归作者所有