天津理工大学操作系统实验2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告学院(系)名称:计算机与通信工程学院

【实验过程记录(源程序、测试用例、测试结果及心得体会等)】#include

int work[10][2];

int idle[10][2];

int free[10][3];

int num=0,b=1,d,ch1,ch2;

void init(){

idle[0][0]=1;idle[0][1]=100;

free[0][0]=0;free[1][1]=0;free[1][2]=0;

work[0][0]=0;work[0][1]=0;

for(int i=1;i <=9;i++){

idle[i][0]=0;idle[i][1]=0;

free[i][0]=0;free[i][1]=0;free[i][2]=0;

work[i][0]=0;work[i][1]=0;

}

}

void jishu(){

for(int i=0;i <9;i++)

if(idle[i][1]!=0)

num++;

}

void jishu1(){

for(int i=0;i <9;i++)

if(work[i][1]!=0)

b++;

}

void zuixian(){

jishu();

for(int i=0;i

for(int j=i;j

if(idle[j][0]>idle[j+1][0]){

int temp=idle[j][0];

idle[j][0]=idle[j+1][0];

idle[j+1][0]=temp;

temp=idle[j][1];

idle[j][1]=idle[j+1][1];

idle[j+1][1]=temp;

}

}

}

}

void zuijia(){

num=0;

jishu();

for(int i=0;i

for(int j=i;j

if(idle[j][1]>idle[j+1][1]){

int temp=idle[j][0];

idle[j][0]=idle[j+1][0];

idle[j+1][0]=temp;

temp=idle[j][1];

idle[j][1]=idle[j+1][1];

idle[j+1][1]=temp;

}

}

}

}

void zuihuai(){

num=0;

jishu();

for(int i=0;i

for(int j=i;j

if(idle[j][1]

int temp=idle[j][0];

idle[j][0]=idle[j+1][0];

idle[j+1][0]=temp;

temp=idle[j][1];

idle[j][1]=idle[j+1][1];

idle[j+1][1]=temp;

}

}

}

}

void huishou(int name){

num=0;

b=0;

jishu();

jishu1();

int c=-1;

for(int k=0;k <=b;k++){

if(free[k][0]==name){

c=k;

break;

}

}

if(c==-1)cout <<"要回收的作业不存在!" <

else{

for(int i=0;i

for(int j=i;j

if(idle[j][0]>idle[j+1][0]){

int temp=idle[j][0];

idle[j][0]=idle[j+1][0];

idle[j+1][0]=temp;

temp=idle[j][1];

idle[j][1]=idle[j+1][1];

idle[j+1][1]=temp;

}

}

}

for(int q=0;q

if(free[c][1] <=idle[q][0]){

for(int j=num;j>=q;j--){

idle[j+1][0]=idle[j][0];

idle[j+1][1]=idle[j][1];

}

idle[j][0]=free[c][1];

idle[j][1]=free[c][2];

b++;

if(idle[j+1][0]==idle[j][0]+idle[j][1]){

idle[j][1]=idle[j][1]+idle[j+1][1];

for(int m=j+1;m <=num;m++){

idle[m][0]=idle[m+1][0];

idle[m][1]=idle[m+1][1];

}

idle[m][0]=0;

idle[m][1]=0;

b--;

}

if(idle[j-1][0]==idle[j][0]){

相关文档
最新文档