资源简介
利用C语言实现操作系统中的银行家算法(话说说的这么清楚还需要多少描述吗?额,我这个是老师亲自验收通过的!)
代码片段和文件信息
#include
using namespace std;
#define maxprocess 30 /*最大进程数*/
#define maxresource 80 /*最大资源数*/
int available[maxresource]; /*可用资源数组*/
int max[maxprocess][maxresource]; /*最大需求矩阵*/
int allocation[maxprocess][maxresource]; /*分配矩阵*/
int need[maxprocess][maxresource]; /*需求矩阵*/
int request[maxprocess][maxresource]; /*进程需要资源数*/
bool finish[maxprocess]; /*系统是否有足够的资源分配*/
int p[maxprocess]; /*记录序列*/
int mn; /*m个进程n个资源*/
void Init();
bool Safe();
void Bank();
void main()
{
Init();
Safe();
Bank();
}
void Init() /*初始化算法*/
{
int ij;
cout<<“**********************************银行家算法**********************************“< cout<<“请输入进程的数目:“< cin>>m;
cout<<“请输入资源的种类:“< cin>>n;
cout<<“请输入每个进程最多所需的各资源数按照“< for(i=0;i for(j=0;j cin>>max[i][j];
cout<<“请输入每个进程已分配的各资源数也按照“< for(i=0;i {
for(j=0;j {
cin>>allocation[i][j];
need[i][j]=max[i][j]-allocation[i][j];
if(need[i][j]<0)
{
cout<<“您输入的第“< j--;
continue;
}
}
}
cout<<“请输入各个资源现有的数目:“< for(i=0;i {
cin>>available[i];
}
}
void Bank() /*银行家算法*/
{
int icusneed;
char again;
while(1)
{
cout<<“请输入要申请资源的进程号(请从0开始依次输入)“< cin>>cusneed;
cout<<“请输入进程所请求的各资源的数量“< for(i=0;i {
cin>>request[cusneed][i];
}
for(i=0;i {
if(request[cusneed][i]>need[cusneed][i])
{
cout<<“您输入的请求数超过进程的需求量!请重新输入!“< continue;
}
if(request[cusneed][i]>available[i])
{
cout<<“您输入的请求数超过系统有的资源数!请重新输入!“<
- 上一篇:C++聊天室客户端+服务端
- 下一篇:spath(A*算法的C语言源代码)
相关资源
- spath(A*算法的C语言源代码)
- C语言程序设计,谭浩强,清华大学,
- 基于51单片机多节点RS485通信带Protue
- c语言描述超松弛算法的源代码
- 最简单的PI算法(C语言)-用于控制电
- 专升本C语言
- 实序列快速傅里叶变换C语言源代码
- xrc C语言解释器
- udp 聊天室 基于linux c语言实现
- 单片机 抢答器 C语言
- c语言图书管理系统源码 c语言图书管
- 银行家算法c++工程项目文件
- 用c语言编写成绩管理系统
- C语言完成NTFS系统的文件定位和打印簇
- 哈弗曼编码的实验报告
- at89c51单片机+矩阵键盘编写的计算器
- 用C语言实现银行家算法
- 重言式判别程序源代码
- c语言写的搜索引擎完整版
- 信道容量的迭代算法的C语言实现
- 图像处理算法源代码,用C语言完成
- 约瑟夫死亡游戏C语言代码
- 拉普拉斯算子边缘检测C语言代码
- PAT乙级1001----1085全解C语言,
- 模数转换的C语言程序
- c语言课程设计-弹力球游戏
- HMM隐马尔可夫模式的经典学习C语言源
- c语言网吧计费系统源代码
- C语言实现Linux文件系统模拟文档内有
- 基于c语言的电子琴课程设计
评论
共有 条评论