计算机操作系统 -银行家算法 -vc源程序.doc

计算机操作系统 -银行家算法 -vc源程序.doc

ID:51436832

大小:155.50 KB

页数:6页

时间:2020-03-24

计算机操作系统 -银行家算法 -vc源程序.doc_第1页
计算机操作系统 -银行家算法 -vc源程序.doc_第2页
计算机操作系统 -银行家算法 -vc源程序.doc_第3页
计算机操作系统 -银行家算法 -vc源程序.doc_第4页
计算机操作系统 -银行家算法 -vc源程序.doc_第5页
资源描述:

《计算机操作系统 -银行家算法 -vc源程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告2课程计算机操作系统实验名称银行家算法第1页班级11计本学号105032011130姓名风律澈实验日期:2013年11月4日报告退发(订正、重做)一、实验目的模拟银行家算法,用银行家算法实现资源分配二、实验内容已知进程{P0,P1,P2,P3,P4},有三类系统资源A、B、C的数量分别为10、5、7,在T0时刻的资源分配情况如下图所示:(1)若进程P1请求资源,发出请求向量Request1(1,0,2),编写程序用银行家算法判断系统能否将资源分配给它;(2)若进程P3提出请求Request(1,1,2),用银行家算法程序验证系统

2、能否将资源分配给它。三、实验环境VS2008,window7操作系统四、实验步骤://fuction.h//////辅助函数////////~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~///*使用说明:拷贝函数,用来初始化work,使之与avialable一致*/voidcopy(intwork[3],intavailable[3]){for(inti=0;i<3;i++){work[i]=available[i];}}/*使用说明:检查n

3、eed<=work,如果全部成立,返回1,否则返回0*/intcheck_need_work(inti,intwork[3],intneed[5][3]){for(intj=0;j<3;j++){if(need[i][j]>work[j])return0;}return1;}/*使用说明:用来寻找尝试分配用的进程i,两个条件均满足时即可回收,*//*只要其中一个不满足则不考虑,每个i都无法满足时返回-1表示找不到这种程序*/intfind(boolfinish[5],intwork[3],intneed[5][3]){for(inti=

4、0;i<5;i++){if(finish[i]==false&&check_need_work(i,work,need)==1){returni;}}return-1;}/*使用说明:用来检查是否所有序列都可以满足true*/intanalyze_finish(boolfinish[5]){for(inti=0;i<5;i++){if(finish[i]==false)return0;}return1;}voidrequest(int&i,int&j1,int&j2,int&j3){//////输入基本信息//////cout<<"此次

5、申请的进程名:";cin>>i;cout<<"请求向量A:";cin>>j1;cout<<"请求向量B:";cin>>j2;cout<<"请求向量C:";cin>>j3;};//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~////////分析申请需求//voidanalyze_need(inti,intj1,intj2,intj3,intneed[5][3],int&state){if(j1>need[i][0]

6、

7、j2>need[i

8、][1]

9、

10、j3>need[i][2]){cout<<"wrong:progress"<available[0]

11、

12、j2>available[1]

13、

14、j3>available[2]){cout<<"progress"<

15、//////尝试分配//voidtry_give(inti,intj1,intj2,intj3,intneed[5][3],intallocation[5][3],intavailable[3]){//处理available//available[0]=available[0]-j1;available[1]=available[1]-j2;available[2]=available[2]-j3;//处理allocation//allocation[i][0]=allocation[i][0]+j1;allocation[i][1]=

16、allocation[i][1]+j2;allocation[i][2]=allocation[i][2]+j3;//处理need//need[i][0]=need[i][0]-j1;need[i][1]=

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

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

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