欢迎来到天天文库
浏览记录
ID:38833252
大小:82.50 KB
页数:6页
时间:2019-06-20
《课内实验报告模板-银行家算法new》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、一.实验目的及实验环境1.实验目的通过本次实验,进一步掌握进程的相关概念,加深对进程银行家算法的理解。2.实验环境WindowsXP程序编译环境:VisualC++6.0编程语言:C++测试平台:WindowsXP二.实验内容1.选取一种熟悉的编程语言,编写程序模拟实现银行家算法。三.方案设计1.数据结构的实现/*见书的源代码,并对数据结构中每个成员含义进行解释*/2.程序概要设计1)各个函数功能描述AVAILABLE[MAXRESOURCE]:可利用资源向量MAX[MAXPROCESS][MAXRESOURCE]
2、:最大需求矩阵ALLOCATION[MAXPROCESS][MAXRESOURCE]:分配矩阵NEED[MAXPROCESS][MAXRESOURCE]:需求矩阵REQUEST[MAXPROCESS][MAXRESOURCE]:进程需要资源数boolFINISH[MAXPROCESS]:系统是否有足够资源分配intp[MAXPROCESS]:记录序列voidInit():初始化boolSafe():安全性检查voidBank():银行家算法2)各个函数之间的调用关系图3.核心函数算法流程图1)safe()安全性检查
3、2)bank()银行家算法四.测试数据及运行结果/*测试数据和运行结果通过程序截图来说明*/五.总结1.实验过程中遇到的问题及解决办法;输入矩阵时出现错误,以此输入数据即可解决2.对设计及调试过程的心得体会。六.附录:源代码#includeusingnamespacestd;#defineMAXPROCESS50#defineMAXRESOURCE100intAVAILABLE[MAXRESOURCE];intMAX[MAXPROCESS][MAXRESOURCE];intALLOCATION[
4、MAXPROCESS][MAXRESOURCE];intNEED[MAXPROCESS][MAXRESOURCE];intREQUEST[MAXPROCESS][MAXRESOURCE];boolFINISH[MAXPROCESS];intp[MAXPROCESS];intm,n;voidInit();boolSafe();voidBank();intmain(){Init();Safe();Bank();}voidInit(){inti,j;cout<<"银行家算法"<5、";cin>>m;cout<<"请输入资源的种类:";cin>>n;cout<<"请输入每个进程最多所需的各资源数,按照"<>MAX[i][j];cout<<"请输入每个进程已分配的各资源数,按照"<>ALLOCATION[i][j];NEED[i][j]=MA6、X[i][j]=ALLOCATION[i][j];if(NEED[i][j]<0){cout<<"您输入的第"<>AVAILABLE[i];}voidBank()//银行家算法//{inti,cusneed;charagain;intbreakmark=0;while(1){breakmark=0;cou7、t<<"请输入要申请资源的进程号"<>cusneed;cout<<"请输入进程所请求各资源的数量"<>REQUEST[cusneed][i];for(i=0;iNEED[cusneed][i]){cout<<"您输入的请求数超过进程的需求量!请重新输入!"<AVAIL8、ABLE[i]){cout<<"您输入的请求数超过系统拥有的资源数!请重新输入!"<
5、";cin>>m;cout<<"请输入资源的种类:";cin>>n;cout<<"请输入每个进程最多所需的各资源数,按照"<>MAX[i][j];cout<<"请输入每个进程已分配的各资源数,按照"<>ALLOCATION[i][j];NEED[i][j]=MA
6、X[i][j]=ALLOCATION[i][j];if(NEED[i][j]<0){cout<<"您输入的第"<>AVAILABLE[i];}voidBank()//银行家算法//{inti,cusneed;charagain;intbreakmark=0;while(1){breakmark=0;cou
7、t<<"请输入要申请资源的进程号"<>cusneed;cout<<"请输入进程所请求各资源的数量"<>REQUEST[cusneed][i];for(i=0;iNEED[cusneed][i]){cout<<"您输入的请求数超过进程的需求量!请重新输入!"<AVAIL
8、ABLE[i]){cout<<"您输入的请求数超过系统拥有的资源数!请重新输入!"<
此文档下载收益归作者所有