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