void main() { int i,j;
inputdata(); for(i=0;i if (i>=M) cout<<\错误提示:经安全性检查发现,系统的初始状态不安全!!!\\n\< { cout<<\提示:经安全性检查发现,系统的初始状态安全!\< void inputdata() { int i=0,j=0,p; cout<<\请输入总进程数:\< cout<<\请输入资源的种类数:\< cout< cout<<\请依次输入各类资源的总数量,即设置向量all_resource:\< cout<<\请依次输入各进程所需要的最大资源数量,即设置矩阵max:\< for (j=0;j do { cin>>MAX[i][j]; if (MAX[i][j]>ALL_RESOURCE[j]) cout< cout< cout<<\请依次输入各进程已经占据的各类资源数量,即设置矩阵allocation:\< cout< { p=ALL_RESOURCE[j]; for (i=0;i void showdata() { int i,j; cout<<\各种资源的总数量,即向量all_resource为:\< for (j=0;j cout<<\当前系统中各类资源的可用数量,即向量available为:\< for (j=0;j cout<<\各进程还需要的资源数量,即矩阵need为:\< { cout<<\进程P\< cout< cout<<\各进程已经得到的资源量,即矩阵allocation为: \< { cout<<\进程P\< void changdata(int k) { int j; for (j=0;j void restoredata(int k) { int j; for (j=0;j } int chksec(int s) { int WORK,FINISH[W]; int i,j,k=0; for(i=0;i int chkmax(int s) { int j,flag=0; for(j=0;j int i=0,j=0; char flag='Y'; while(flag=='Y'||flag=='y') { i=-1; while(i<0||i>=M) { cout<<\请输入需申请资源的进程号(从P0到P\< cin>>Request[j]; if(Request[j]>NEED[i][j]) { cout<<\进程P\<AVAILABLE[j]) { cout<<\进程P\< cout<<\在资源收回之后,各进程的资源需求和分配情况如下所示:\< } 六、运行结果分析 1.输入进程数、资源种类数、各类资源总数量、各进程所需要的最大资源数量、各进程所已经占据的各类资源数量
相关推荐: