欢迎来到天天文库
浏览记录
ID:47441593
大小:70.02 KB
页数:9页
时间:2020-01-11
《大作业 银行家算法课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《操作系统》课程设计报告设计题目:银行家算法的实现姓名:梅济民学号:2012015014同组人姓名:赵宇昊学号:2012012962班级:2012级信息与计算科学完成日期:2015年11月12日设计题目银行家算法的实现设计形式自由结组完成(2人一组)设计目的1、了解死锁避免的原理。2、研究银行家算法的实现方法。设计预备知识一、死锁概念二、死锁的避免三、银行家算法会用C语言编程实现这个过程设计内容编程实现银行家算法,语言不限。自行设置资源向量的元素个数及初始值。由用户通过输入界面提出某进程对各类资源的请求向量,由程序判断是否能为用户请求分配资源,并显示结果。小组成员分工梅济民:编
2、程,写报告赵宇昊:查找资料银行家算法分析、设计与实现一、理论描述银行家算法要求每个进程的最大资源需求,其基本思想是:始终保持系统处于安全状态,当设计进程提出资源请求时,系统先进行预分配,再判断系统分配后是否仍然处于安全状态。如果仍然处于安全状态,就进行实际分配;如果处于不安全状态,则拒绝该进程的资源请求。二、算法描述及数据结构模型#defineFalse0#defineTrue1intMax[100][100]={0};//各进程所需各类资源的最大需求intAvaliable[100]={0};//系统可用资源charname[100]={0};//资源的名称intAlloca
3、tion[100][100]={0};//系统已分配资源intNeed[100][100]={0};//还需要资源intRequest[100]={0};//请求资源向量inttemp[100]={0};//存放安全序列intWork[100]={0};//存放系统可提供资源intM=100;//作业的最大数为100intN=100;//资源的最大数为10三、源代码voidshowdata()//显示资源矩阵{inti,j;printf("系统目前可用的资源[Avaliable]:");for(i=0;i4、"");for(j=0;j5、intf("%d",Allocation[i][j]);printf("");for(j=0;j6、0,m,apply,Finish[100]={0};intj;intflag=0;Work[0]=Avaliable[0];Work[1]=Avaliable[1];Work[2]=Avaliable[2];for(i=0;i7、1;k++;flag++;}}}}for(i=0;i");}printf("");return0;}voidshare()//
4、"");for(j=0;j5、intf("%d",Allocation[i][j]);printf("");for(j=0;j6、0,m,apply,Finish[100]={0};intj;intflag=0;Work[0]=Avaliable[0];Work[1]=Avaliable[1];Work[2]=Avaliable[2];for(i=0;i7、1;k++;flag++;}}}}for(i=0;i");}printf("");return0;}voidshare()//
5、intf("%d",Allocation[i][j]);printf("");for(j=0;j6、0,m,apply,Finish[100]={0};intj;intflag=0;Work[0]=Avaliable[0];Work[1]=Avaliable[1];Work[2]=Avaliable[2];for(i=0;i7、1;k++;flag++;}}}}for(i=0;i");}printf("");return0;}voidshare()//
6、0,m,apply,Finish[100]={0};intj;intflag=0;Work[0]=Avaliable[0];Work[1]=Avaliable[1];Work[2]=Avaliable[2];for(i=0;i7、1;k++;flag++;}}}}for(i=0;i");}printf("");return0;}voidshare()//
7、1;k++;flag++;}}}}for(i=0;i");}printf("");return0;}voidshare()//
此文档下载收益归作者所有