实验八 死锁避免---银行家算法 200830740304 陈建锋
#include<iostream.h>
#include<string.h>
#include<stdio.h>
#dene False 0
#dene True 1
int Max[100][100]={0};//各进程所需各类资源的最大需求(横坐标代表第 i+1 个作业,纵坐
标代表第几个资源类型)
int Avaliable[100]={0};//系统可用资源
char name[100]={0};//资源的名称
int Alloca'on[100][100]={0};//系统已分配资源
int Need[100][100]={0};//还需要资源
int Request[100]={0};//请求资源向量
int temp[100]={0};//存放安全序列
int Work[100]={0};//存放系统可提供资源
int M=100;//作业的最大数为 100
int N=100;//资源的最大数为 100
int Finish[100];
/////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
void showdata()//显示资源矩阵
{
int i,j;
cout<<"系统目前可用的资源[Avaliable]:"<<endl;
for(i=0;i<N;i++)
cout<<name[i]<<" ";
cout<<endl;
for (j=0;j<N;j++)
cout<<Avaliable[j]<<" ";//输出分配资源
cout<<endl;
cout<<" Work Max Alloca'on Need Finish"<<endl;
cout<<"进程名 ";
for(j=0;j<5;j++){// Max Alloca'on Need
for(i=0;i<N;i++)//有 N 种资源
cout<<name[i]<<" ";
cout<<" ";
}
cout<<endl;
for(i=0;i<M;i++){
cout<<" "<<i<<" ";
for(j=0;j<N;j++){
cout<<Work[j]<<" ";
}
评论1