logo资料库

随机分配算法.doc

第1页 / 共9页
第2页 / 共9页
第3页 / 共9页
第4页 / 共9页
第5页 / 共9页
第6页 / 共9页
第7页 / 共9页
第8页 / 共9页
资料共9页,剩余部分请下载后查看
#include "string.h" #include "iostream" using namespace std; #define FALSE 0 #define TRUE 1 #define W 10 #define R 20 int M ; //总进程数 int N ; //资源种类 int ALL_RESOURCE[W];//各种资源的数目总和 int MAX[W][R]; //M个进程对N类资源最大资源需求量 int AVAILABLE[R]; //系统可用资源数 int ALLOCATION[W][R]; //M个进程已经得到N类资源的资源量 int NEED[W][R]; //M个进程还需要N类资源的资源量 int Request[R]; //请求资源个数 void showdata() //函数showdata,输出资源分配情况 { int i,j; cout<<"各种资源的总数量(all):"<
for (i=0;i
}; void rstordata(int k) //函数rstordata,恢复可用资源和已经拿到资源和还需要的资源的值 { int j; for (j=0;j
i=0; } else { i++; } } for(i=0;i"; cout<
int i,j,k=0; for(i=0;i
} } cout<"; cout<=M) { cout<<" 请输入需申请资源的进程号(从P0到P"<>i; if(i<0||i>=M)cout<<" 输入的进程号不存在,重新输入!"<
cin>>Request[j]; if(Request[j]>AVAILABLE[j]) { cout<<" 进程P"<>flag; } } void main()//主函数 { int i=0,j=0,p; cout<<"输入总进程数:"<>M; cout<<"输入总资源种类:"<>N; cout<<"请输入总资源数(all_resource):"<
cin>>ALL_RESOURCE[i]; cout<<"依次输入各进程所需要的最大资源数量(max):"<>MAX[i][j]; if(MAX[i][j]>ALL_RESOURCE[j]) cout<ALL_RESOURCE[j]); } } cout<<"依次输入各进程已经占据的资源数量(allocation):"<>ALLOCATION[i][j]; if(ALLOCATION[i][j]>MAX[i][j]) cout<MAX[i][j]); } }
分享到:
收藏