中原工学院信息商务学院 操作系统课程设计报告 #include
#include
int Max[100][100]={0};//各进程所需各类资源的最大需求 int Avaliable[100]={0};//系统可用资源 char name[100]={0};//资源的名称 int Allocation[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 2,休眠函数 SLEEP()用于延缓进入系统时间 void SLEEP()
{ int i; for (i=10;i>=0;i--) { cout< cout<<\\cout<<\\cout<<\\cout<<\\cout<<\\cout<<\\☆★\★☆ \3,显示可用资源和各个进程资源非配情况的函数 showdata() void showdata()//显示资源矩阵 {int i,j; cout<<\系统目前可用的资源[Avaliable]:\ for(i=0;i - 4 - 中原工学院信息商务学院 操作系统课程设计报告 cout<<\进程名\for(j=0;j<3;j++){for(i=0;i cout< 中原工学院信息商务学院 操作系统课程设计报告 cout<<\请输入要求分配的资源进程号(0-\ cin>>i;//输入须申请的资源号 cout<<\请输入进程 P \申请的资源:\for(j=0;j for(int i=0;i for(i=0;i for(i=0;i 中原工学院信息商务学院 操作系统课程设计报告 if(i>=M) cout<<\该进程名称不存在,请重新输入:\for(int m=0;m { Avaliable[i]= Avaliable[i]+Allocation[i][m];//将删除的进程已分配的资源存入可 用资源中去 } for(j=i;j Allocation[j][m]= Allocation[j+1][m]; Need[j][m]= Need[j+1][m];}} M=M-1;showdata();safe();} 10,修改资源数量,并检测安全性 changeresources() void changeresources()//修改资源函数 cout<<\系统目前可用的资源[Avaliable]:\for(int i=0;i