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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

银行家算法实验报告C语言版Word文件下载.docx

1、 (3)若以上两个条件都满足,则系统试探着将资源分配给申请的进程,并修改下面数据结构中的数值:Availablei,j= Availablei,j- Request j;Allocationij= Allocationij+ Request j;needij= needij- Request j;(4)试分配后,执行安全性检查,调用check()函数检查此次资源分配后系统是否处于安全状态。若安全,才正式将资源分配给进程。否则本次试探分配作废,恢复原来的资源分配状态,让该进程等待。(5)用dowhile 循环语句实现输入字符y/n判断是否继续进行资源申请。(二)安全性算法(safe()函数):(

2、1)设置两个向量: 工作向量Work,它表示系统可提供给进程继续运行所需的各类资源数目,在执行安全性算法开始时,Work= Available。 工作向量Finish,它表示系统是否有足够的资源分配给进程,使之运行完成。开始时先做Finishi=false;当有足够的资源分配给进程时, 再令Finishi=true。(2)在进程中查找符合以下条件的进程: 条件1:Finishi=false; 条件2:needij=Workj 若找到,则执行步骤(3)否则,执行步骤(4) (3)当进程获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行: Workj= Workj+ Allocat

3、ionij; Finishi=true; goto step (2);(4)如果所有的Finishi=true都满足,则表示系统处于安全状态,否则,处于不安全状态。四、实验结果及分析1.实验设计说明 按0由用户输入,按1由系统提供数据2.实验代码 #include #include math.h#define max_process 50 /最大进程数#define max_resource 100/最大资源数#define false 0#define true 1int availablemax_resource=3,3,2;/可利用资源向量int maxmax_processmax_re

4、source=7,5,3,3,2,2,9,0,2,2,2,2,4,3,3;/最大需求矩阵int allocationmax_processmax_resource=0,1,0,2,0,0,3,0,2,2,1,1,0,0,2;/分配矩阵int needmax_processmax_resource;/需求矩阵int requestmax_processmax_resource;/进程需要资源数int finishmax_process;int m=5,n=3;void init();int safe();void bank();void init2();void print();void pri

5、nt2();void main() int i; printf(请输入测试数据,按0由用户输入测试数据,按1由系统提供测试数据:n); scanf(%d,&i); switch(i) case 0: init(); break; case 1: init2(); print(); safe(); bank();void init() int i,j;请输入进程数目:m);请输入资源种类数目:n);请按顺序输入系统中可利用的每种资源量: for(i=0;in;i+)availablei);请输入最大需求矩阵: for (i=0;m; for (j=0;jj+) maxij);请输入分配矩阵:al

6、locationij); needij=maxij-allocationij; if(needij workj)break; if(j=n) for(p=0;pneednumberi)申请的资源超过还需要的资源,请重新输入n continue;availablei)申请的资源超过所能提供的资源,请重新输入ni+) availablei=availablei-requestnumberi; allocationnumberi=allocationnumberi+requestnumberi; neednumberi=neednumberi-requestnumberi; if(safe()pri

7、ntf(分配成功!系统无法分配资源! availablei=availablei+requestnumberi; allocationnumberi=allocationnumberi-requestnumberi; neednumberi=neednumberi+requestnumberi;是否继续申请资源?请回答(Y,N):%canswer);/清楚回车符 if(answer=Y | answer=y) continue; else break;3.实验结果按1由系统提供数据,测试t0时刻的安全性按0由用户输入,测试t0时刻的安全性输入进程号4,申请资源(4,8,9),如图所示,申请失败显示出失败原因,无法分配资源,若需继续分配选择Y或y输入进程号1,申请资源(1,0,2),调用安全性算法若符合安全性,找出安全序列并打印出此时系统资源分配情况,显示分配成功!若需继续分配输入Y或y,输入其他退出程序4.实验结果分析如上5.实验心得教 师 评 价评定项目ABCD算确界面美观,布局合理程序结构合理操作熟练语法、语义正确解析完整实验结果正确文字流畅报告规题解正确其他:评价教师签名:年 月 日

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

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