1 / 20
文档名称:

银行家算法实验报告(同名22949).doc

格式:doc   大小:424KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

银行家算法实验报告(同名22949).doc

上传人:yzhlyb 2019/8/25 文件大小:424 KB

下载得到文件列表

银行家算法实验报告(同名22949).doc

相关文档

文档介绍

文档介绍:银行家算法实验报告(同名22949)计算机操作系统实验报告何美西109253030212实验名称:银行家算法实验目的:银行家算法是避免死锁的一种重要方法,通过编写一个简单的银行家算法程序,加深了解有关资源申请、避免死锁等概念,并体会和了解死锁和避免死锁的具体实施方法。问题分析与设计:1、算法思路:先对用户提出的请求进行合法性检查,即检查请求是否大于需要的,是否大于可利用的。若请求合法,则进行预分配,对分配后的状态调用安全性算法进行检查。若安全,则分配;若不安全,则拒绝申请,恢复到原来的状态,拒绝申请。2、银行家算法步骤:(1)如果Requesti<or=Need,则转向步骤(2);否则,认为出错,因为它所需要的资源数已超过它所宣布的最大值。(2)如果Request<or=Available,则转向步骤(3);否则,表示系统中尚无足够的资源,进程必须等待。(3)系统试探把要求的资源分配给进程Pi,并修改下面数据结构中的数值:    Available=Available-Request[i];    Allocation=Allocation+Request;Need=Need-Request;(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。3、安全性算法步骤:(1)设置两个向量①工作向量Work。它表示系统可提供进程继续运行所需要的各类资源数目,执行安全算法开始时,Work=Allocation;②布尔向量Finish。它表示系统是否有足够的资源分配给进程,使之运行完成,开始时先做Finish[i]=false,当有足够资源分配给进程时,令Finish[i]=true。(2)从进程集合中找到一个能满足下述条件的进程:①Finish[i]=false②Need<or=Work如找到,执行步骤(3);否则,执行步骤(4)。(3)当进程P获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:Work=Work+Allocation;Finish[i]=true;转向步骤(2)。(4)如果所有进程的Finish[i]=true,则表示系统处于安全状态;否则,系统处于不安全状态。4、流程图:系统主要过程流程图银行家算法流程图安全性算法流程图实验代码:#include<>#include<>#include<>#defineFalse0#rue1intMax[100][100]={0};//各进程所需各类资源的最大需求intAvaliable[100]={0};//系统可用资源charname[100]={0};//资源的名称intAllocation[100][100]={0};//系统已分配资源intNeed[100][100]={0};//还需要资源intRequest[100]={0};//请求资源向量inttemp[100]={0};//存放安全序列intWork[100]={0};//存放系统可提供资源intp[100]={0};intq[100][100]={0};intz[100][100]={0};intM=100;//作业的最大数为100intN=100;//资源的最大数为100intgg=1;voidshowdata()//显示资源矩阵{inti,j;cout<<endl<<"此时刻的资源分配情况为:"<<endl;cout<<"MaxAllocationNeedAvaliable"<<endl;cout<<"进程名";for(j=0;j<4;j++){for(i=0;i<N;i++)cout<<name[i]<<"";cout<<"";}cout<<endl;for(i=0;i<M;i++){cout<<""<<i<<"";for(j=0;j<N;j++)cout<<Max[i][j]<<"";cout<<"";for(j=0;j<N;j++)cout<<Allocation[i][j]<<"";cout<<"";for(j=0;j<N;j++)cout<<Need[i][j]<<"";if(i==0){cout<<"";for(j=0;j<N;j++)cout<<Avaliable[j]<<"";//输出分配资源}cout<<endl;}}intchangdata(inti)//进行资源分配{intj;for(j=0;j<M;j++){//p[j]=Avaliable[j];Avaliable[j]=Avaliable[j]-Request[j]; //q[i][j]=Allocation[i][j];Allocation[i][j]=Allocation[i][j]+Request[j]; //z[i][j]=Need[i][j

最近更新

二零二五年度城市供水管网改造工程承包合同正.. 14页

二零二五年度城市基础设施建设财务担保合同市.. 13页

二零二五年度城市更新项目不可撤销反担保协议.. 16页

二零二五年度城市综合体项目开发与运营合同示.. 14页

二零二五年度城市轨道交通承包商履约保函范本.. 12页

二零二五年度基础设施建设材料采购合同示范 14页

二零二五年度多功能吊车租赁服务标准合同 13页

二零二五年度大型包雪项目合同 14页

二零二五年度大型设备搬运服务承包合作协议 16页

二零二五年度大豆加工企业销售代理合同模板 15页

二零二五年度奔驰商务车租赁及保养一体化服务.. 14页

二零二五年度存量房买卖合同及交易房地产资产.. 14页

二零二五年度学校食堂保安服务终止与食品安全.. 12页

二零二五年度安全文化建设与传播咨询合同样本.. 14页

二零二五年度安全生产巡查服务专项合同 15页

二零二五年度安全生产责任书修订与更新合同 16页

二零二五年度安全达标车间租赁安全协议 15页

二零二五年度安置就业人员就业援助服务合同样.. 15页

二零二五年度安置房项目物业服务与租赁管理协.. 16页

二零二五年度安防监控系统安装工程施工劳务服.. 15页

二零二五年度宠物医院宠物健康保险合同范本 15页

二零二五年度室内装修人工劳务合同标准范本 18页

二零二五年度家居行业采购谈判与跟单合同 16页

二零二五年度家电产品分期购买与用户满意度提.. 16页

二零二五年度宾馆租赁合同及客房维修保养协议.. 14页

二零二五年度展览中心场地租赁协议精选 17页

二零二五年度工业厂房股权转让合同示范文本 14页

二零二五年度工业用地厂房及办公楼租赁管理协.. 16页

二零二五年度工业铸件打磨与抛光承包合同 15页

二零二五年度市政基础设施沉降安全检测合同 15页