欢迎来到天天文库
浏览记录
ID:47677801
大小:88.50 KB
页数:12页
时间:2020-01-27
《操作系统 银行家算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、淮海工学院计算机工程学院实验报告书课程名:《计算机操作系统》题目:实验二银行家算法班级:^^姓名:^^评语:成绩:指导教师:批阅时间:年月日《UML理论与实践》实验报告-11-实验二银行家算法实验目的和要求应用银行家算法验证进程安全性检查及分配资源编制模拟银行家算法的程序,并以以下例子验证程序的正确性。实验环境1.PC微机。2.Windows操作系统。3.C/C++/VB开发集成环境。实验学时2学时,必做实验实验内容和步骤1)根据算法流程图编制可执行程序2)用以下两个例子验证程序的正确性。3)按照上述两个例子,输出执行的结果。算
2、法流程图银行家算法:安全性算法:【例1】某系统有A、B、C、D这4类资源供5个进程共享,进程对资源的需求和分配情况如下表所示。现在系统中A、B、C、D类资源分别还剩1、5、2、0个,请按银行家算法回答下列问题: 进程已占资源最大需求数ABCDABCDP100120012P210001750P313542356P406320652P500140656 (1) 现在系统是否处于安全状态?(2)如果现在进程P2提出需要(0,4,2,0)个资源的请求,系统能否满足它的请求?《UML理论与实践》实验报告-11-【例2】用银行家算法考虑下列
3、系统状态:进程 分配矩阵 最大需求矩阵 资源总数矩阵 A 3 0 1 1 4 1 1 1 6 3 4 2 B 0 1 0 0 0 2 1 2 C 1 1 1 0 4 2 1 0 D 1 1 0 1 1 1 1 1 E 0 0 0 0 2 1 1 0问系统是否安全?若进程B请求(0,0,1,0),可否立即分配?此后进程E也请求(0,0,1,0),可否分配给它?通过运行程序发现,例1当中的系统处于不安全状态,进程P
4、2提出的请求无法实现;例2当中的系统处于安全状态,进程B提出的请求能实现,此后进程E的请求也能实现。源代码#include#defineN20#defineM20usingnamespacestd;intf(inta[N][M],intb[N][M],intm,intk){intj;for(j=0;jb[k-1][j])return0;return1;}intg(inta[N][M],intb[],intm,intk){intj;for(j=0;j5、[k][j]>b[j])return0;return1;}inth(inta[],intn){for(inti=0;ib[k-1][j])return0;return1;}intq(inta[],intb[],intm){intj;for(j=0;jb[j])return0;6、return1;}intsafe(intFinish[N],intWork[M],intNeed[N][M],intAllocation[N][M],intn,intm){inti,j,k;intt[N];for(i=0;i7、m<<"]:";for(j=0;j8、Allocation)["<
5、[k][j]>b[j])return0;return1;}inth(inta[],intn){for(inti=0;ib[k-1][j])return0;return1;}intq(inta[],intb[],intm){intj;for(j=0;jb[j])return0;
6、return1;}intsafe(intFinish[N],intWork[M],intNeed[N][M],intAllocation[N][M],intn,intm){inti,j,k;intt[N];for(i=0;i7、m<<"]:";for(j=0;j8、Allocation)["<
7、m<<"]:";for(j=0;j8、Allocation)["<
8、Allocation)["<
此文档下载收益归作者所有