银行家算法实验报告电子版.doc

银行家算法实验报告电子版.doc

ID:59501984

大小:109.00 KB

页数:5页

时间:2020-11-03

银行家算法实验报告电子版.doc_第1页
银行家算法实验报告电子版.doc_第2页
银行家算法实验报告电子版.doc_第3页
银行家算法实验报告电子版.doc_第4页
银行家算法实验报告电子版.doc_第5页
资源描述:

《银行家算法实验报告电子版.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、福州大学数学与计算机科学学院《操作系统》上机实验报告专业和班级成绩姓名学号课程名称操作系统实验名称银行家算法实验目的和要求对任意一个进程提出资源申请,能准确判断出能否把资源分配给该进程。实验内容银行家算法共有五个进程:p0,p1,p2,p3,p4,三类资源A,B,C,各资源的总数分别为10、5、7,假设某一时刻资源分配情况如下所示:ProcessMaxABCAllocationABCNeedABCAvailableABCP0753010743332P1322200122P2902302600P3222211011P44330024

2、31实验步骤程序代码如下:#include#defineM5//进程数#defineN3//资源数structjc{intnum;//进程号intmax[N];//最大需要资源数intallocation[N];//已分配资源intneed[N];//还需要资源intfinish;//安全判断};staticavailable[N];//可分配资源voidyhjsf(intx,inta[],jcy[])//银行家算法{intwork[N],i,j,k,l,sum,b;jcv;sum=0;for(i=0;i

3、++)//假设分配请求资源{work[i]=available[i]-a[i];//把修改的可分配资源赋予worky[x].need[i]=y[x].need[i]-a[i];//先分配,不安全还原y[x].allocation[i]=y[x].allocation[i]+a[i];}for(i=0;i=y[j].need[k])//判断资源是否满足第j进程所需continue;els

4、eb=1;//b为判断资源是否满足为1表示不满足}if(b==0)//满足时交换可执行的进程{v=y[i];y[i]=y[j];y[j]=v;for(l=0;l

5、e[i]-a[i];for(i=0;i",y[i].num);}else//不安全,撤销请求资源{printf("notsafe");for(i=0;i

6、need{x[i].num=i;x[i].finish=0;printf("分别输入第%d个进程所需最大资源",i);for(j=0;j

7、最大资源以分配资源需要资源");for(i=0;i

8、d",&available[i]);}printf("inputrequest进程");//输入请求进程号scanf("%d",&y);printf("分别输入第%d个进程所请求的资源",y);for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。