计算机操作系统-实验二:银行家算法实验报告书.docx
计算机操作系统-实验二:银行 家算法实验报告书淮海工学院计算机学院实验报告书课程名:操作系统原理A题目:银行家算法班级:Z计121学号:2014140093姓名:薛慧君评语:操作系统原理实验银行家算法实验报告1目的与要求:1)本实验目的是通过使用银行家算法实现 系统资源的分配和安全性检查模拟,提高学生对 操作系统资源分配功能的深刻理解,并培养学生 对操作系统开发的兴趣与应用能力;2)实验前必须认真阅读和理解银行家算法的基本原理和实现方法3)独立使用C或VC+编程语言编写银行家 算法模拟程序;4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及 相关实验数据与运行结果)5 )于2015年5月10日以前提交本次实验 报告(含电子和纸质报告,由学习委员以班为单 位统一打包提交)。2实验内容或题目1)设计五个进程P0,Pl,P2,P3,P4共享三类 资源A,B,C的系统,A,B,C的资源总数量分别 为10, 5,7。(参考书上用例)2)并行进程可动态地申请资源和释放资源(程序 交互输入申请或释放资源数量),系统按各进程的申 请动态地分配资源。3)每当进程动态申请资源或释放资源时,模拟程序应能及时显示或打印各个进程在此时刻的资源分 配表、系统可用资源量和安全序列等资源分配信息和 安全检查信息。4)本次实验内容(项目)的详细说明以及要求请 参见实验指导书。3实验步骤与源程序ttinclude<string .h>#include<stdio .h>itdeFine M 5定义进程数Ittdefine N 3定义资源数ItdeFine False 0 ltdeFine True 1int Max3=<<7,5,3,3,2,2,9,0,2,2,2,2>,<4,3,3>>int Aualiable=<3,3,2> 系统可用资源int Allocation3=<*1,第,2凡。"3凡系统已分配资源 int 框观3=(7,%331.2.23<6.%。3。.1.1;还需要资源int Request3;void showdata()显示资源矩阵 < int ifj;printer系统可用的资源:rT); printFf'resouce:"); For (j=0;j<N;j+)printFRd J"ualiablej); 输出分配资源 printF("nB,);printR,啥进程的资源需求:n");For (i=0;i<M;i+) < printF("pr%d: ",i); For (j=0;j<N;j+) < printf(%d输出最大需求资源数 printF("n"); printer各进程得到资源:n"); For (i=0;i<M;i+) < printf(BBpr%d: For (j=0;j<N;j+) printf*d输出已分配资源数printfCXn"); > prin讦(1各进程还需求资源:n"); For (i=0;i<M;i+) < printF("pr%d: For(j=0;j<N;j+) printfrZd输出还需要资源数printF("n"); > int changdata(int i)进行资源分配 int j; for (j=0;j<M;j+) Aualiablej=Aualiablej-Requestj;