ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:63.63KB ,
资源ID:16206431      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16206431.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(银行家算法实验报告1009162955Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

银行家算法实验报告1009162955Word文档下载推荐.docx

1、输入个进程的最大需求量 Max:输入个进程已经申请的资源量 Allocation:(2) 输出的形式系统目前可用的资源Avaliable:(资源名)进程名MaxAllocati onNeed(资源名)(显示系统是否安全)分配序列:(3)程序所能达到的功能 通过手动输入资源种类数量和各进程的最大需求量、 已经申请的资源量, 运用银行家 算法检测系统是否安全, 若安全则给出安全序列, 并且当用户继续输入某进程的资源请求时, 能够继续判断系统的安全性。(4) 测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。 正确输入输入参数(已申请资源数)错误3、概要设计所有抽象数据类型的定义:i

2、nt Max100100; / 各进程所需各类资源的最大需求char name100 ;/ 资源的名称int Allocation100100; / 系统已分配资源int Need100100 ; / 还需要资源int Request100; / 请求资源向量int temp100; / 存放安全序列int Work100;/ 存放系统可提供资源int M=100; / 作业的最大数为 100int N=100; / 资源的最大数为 100 主程序的流程 :* 变量初始化;* 接收用户输入 n,m,Maxij ,Allocation ij;* 按照银行家算法判断当前状态安全与否, 安全给出安全

3、序列, 不安 全给出提示;* 如果安全,提示 用户输入下一时 刻进程 Pk 的资源请求Request(R,R);* 如果不安全或者无新请求则退出。各程序模块之间的层次 (调用 )关系使用 Main 函数对全局变量进行初始化,然后调用 showdata 函数对各资源 和进程进行整合显示,最后调用 safe 函数即银行家算法判定系统是否安全。若 安全,并想继续对某进程进行资源请求,则调用 request 函数进行操作,其中 request函数又调用changedata函数、showdata函数和safe函数进行请求后的数据修改、显示以及对系统安全性的判定。4、详细设计 实现程序模块的具体算法。 i

4、nt safe()/ 安全性算法int i,k=0,m,apply,Finish100=0;int j;int flag=0;Work0=Avaliable0;Work1=Avaliable1;Work2=Avaliable2; for(i=0;iM;i+)apply=0;for(j=0;jN;j+)if (Finishi=False&Needij=Workj) apply+;if(apply=N) for(m=0;m+)Workm=Workm+Allocationim;/ 变分配数 Finishi=True;tempk=i;i=-1;k+;flag+;for(i=0;if(Finishi=F

5、alse)cout 系统不安全 endl;/ 不成功系统不安全 return -1; 系统是安全的 !/ 如果安全,输出成功 cout 安全序列 :;i+)/ 输出运行进程数组 couttempi;if(iM-1) coutreturn 0;5、调试分析(1) 调试过程中遇到的问题以及解决方法,设计与实现的回顾讨论和分析 起初,对于银行家算法的运算步骤有一定的偏差,导致在将算法编码时造成了一些错误,结果无法得到正确答案,之后通过仔细查阅银行家算法的步骤, 问题得以及时解决。(2) 算法的性能分析用户对可供资源和各进程所需要的最大资源量和已分配资源量进行赋值, 可得到系统的安全性判定,以及安全时

6、的安全序列以及对资源进行请求后的系统 安全性判定。(3) 经验体会通过对银行家算法的编码,让我对银行家算法的原理有了更为深刻的理解, 同时也让我意识到只有通过亲自动手实践,才能加深对算法思想的理解与记忆。6、用户使用说明程序的使用说明,列出每一步的操作步骤7、测试结果列出测试结果,包括输入和输出Allocationab321之后对进程一进行资源请求:鶴雷请求请选擇功能号:hress any key to cent In ue8附录带注释的源程序,注释应清楚具体#i ncludestri ng.hstdio.h#define False 0#define True 1int Max100100=

7、0;/ 各进程所需各类资源的最大需求int Avaliable100=0;/ 系统可用资源char name100=0;int Allocation100100=0;/ 系统已分配资源int Need100100=0;/ 还需要资源int Request100=0;/ 请求资源向量int temp100=0;/ 存放安全序列int Work100=0;/ 作业的最大数为 100/ 资源的最大数为 100void showdata()/ 显示资源矩阵int i,j; 系统目前可用的资源 Avaliable:i+)namei for (j=0;j+)Avaliablej/ 输出分配资源 cout

8、Max Allocation Need 进程名 3;MaxijAllocationij for(j=0;j+) coutint changdata(int i)/ 进行资源分配j+) Avaliablej=Avaliablej-Requestj;Allocationij=Allocationij+Requestj;Needij=Needij-Requestj;return 1; int safe()/ 安全性算法 for(i=0;i+)/ 输出运行进程数组void request()/ 利用银行家算法对申请资源对进行判定char ch;int i=0,j=0;ch=y 请输入要求分配的资源进程

9、号 (0-M-1i;/ 输入须申请的资源号 请输入进程 申请的资源 :namejNeedij)/ 判断申请是否大于需求,若大于则出错 进程 申请的资源大于它需要的资源 coutAvaliablej)/ 判断申请是否大于当前资源, 若 大于则 / 出错 申请的资源大于系统现在可利用的资源 分配出错,不予分配 ! ch=break;if(ch=) changdata(i);/ 根据进程需求量变换资源 showdata();/ 根据进程需求量显示变换后的资源 safe();/ 根据进程需求量进行银行家算法判断int main()/ 主函数 int i,j,number,m,n,flag,choice

10、; char ming;* 单 处 理 机 系 统 进 程 调 度 实 现 * 请首先输入系统可供资源种类的数量 : cinn;N=n;i+) cout 资源 i+1 的名称 :ming; namei=ming; 资源的数量 :number;Avaliablei=number; coutMaxij) flag=1;Needij=Maxij-Allocationij;if(flag) 申请的资源大于最大需求量,请重新输入 !n while(flag);showdata();/ 显示各种资源safe();/ 用银行家算法判定系统是否安全 while(choice).* 0: 离开 1: 资源请求 请选择功能号:choice;switch(choice)case 1: request();case 0: choice=0;default: 请正确选择功能号 (0-1)!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1