文档介绍:淮海工学院计算机科学系
实验报告书
课程名:《操作系统原理A》
题 目: 银行家算法
班 级: 软件
学 号: 25
姓 名:
评语:
成绩: 指导教师:
批阅时间: 年 月 日
《 操作系统原理A 》实验报告 - 0 -
操作系统原理实验——银行家算法实验报告
1目的与要求:
1)本实验目的是通过使用银行家算法实现系统资源的分配和安全性检查模拟,提高学生对操作系统资源分配功能的深刻理解,并培养学生对操作系统开发的兴趣与应用能力;
2)实验前必须认真阅读和理解银行家算法的基本原理和实现方法;
3)独立使用C或VC++编程语言编写银行家算法模拟程序;
4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)
5)于2013年11月1日以前提交本次实验报告(含电子和纸质报告,由学习委员以班为单位统一打包提交)。
2 实验内容或题目
1)设计五个进程{P0,P1,P2,P3,P4}共享三类资源{A,B,C}的系统,{A,B,C}的资源总数量分别为10,5,7。(参考书上用例)
2)并行进程可动态地申请资源和释放资源(程序交互输入申请或释放资源数量),系统按各进程的申请动态地分配资源。
3)每当进程动态申请资源或释放资源时,模拟程序应能及时显示或打印各个进程在此时刻的资源分配表、系统可用资源量和安全序列等资源分配信息和安全检查信息。
4)本次实验内容(项目)的详细说明以及要求请参见实验指导书。
3 实验步骤与源程序
#include<iostream>
using namespace std;
#define M 5 //总进程数
#define N 3 //总资源数
#define FALSE 0
#define TRUE 1
int bl=1;
//M个进程对N类资源最大资源需求量
int MAX[M][N]={{7,5,3},{3,2,2},{9,0,2},{2,2,2},{4,3,3}}; //系统可用资源数
int AVAILABLE[N]={3,3,2}; //M个进程已经得到N类资源的资源量
int ALLOCATION[M][N]={{0,1,0},{2,0,0},{3,0,2},{2,1,1},{0,0,2}};
//M个进程还需要N类资源的资源量
int NEED[M][N]={{7,4,3},{1,2,2},{6,0,0},{0,1,1},{4,3,1}};
int Request[