计算机操作系统实验讲义 联系客服

发布时间 : 星期四 文章计算机操作系统实验讲义更新完毕开始阅读6ded4ea8102de2bd97058819

}

System.out.println();

/**

* 检查安全序列 * */

int[] work=new int[3];//定义一个数组work用来存放可利用的资源for (int i = 0; i < work.length; i++) { }

work[i]=available[i];//初始化work

数目

boolean[] finish=new boolean[process];//定义标志finish,表示分配资源的置为true,没有非配的置为false

for (int i = 0; i < process; i++) { }

int[] array=new int[process];//定义一个数组保存安全序列 int num=1; int count1=1; while(num

for (int i = 0; i < process; i++) {

for (int j = 0; j < 3; j++) {

if(finish[i]==false){

finish[i]=false;//初始化数组finish

if(need[i][0]<=work[0]&&need[i][1]<=work[1]&&need[i][2]<=work[2]){

for (int j2 = 0; j2 < resource; j2++) { }

finish[i]=true; array[count1-1]=i; count1++;

work[j2]=work[j2]+allocation[i][j2];

}

}

}

}

}num++;

int count=0;

for (int i = 0; i < array.length; i++) { }

if(count==process){ }

else{System.out.println(\系统处于不安全状态!\System.out.println(); /**

* 以下是进程请求资源时的情况 * */

boolean flag=true; while(flag){

int[] req=new int[resource];

System.out.print(\请输入您要请求资源的 编号>>\int choose=scanner.nextInt();

System.out.print(\请输入该进程的请求向量>>\for (int i = 0; i < resource; i++) { System.out.println(\存在一个安全序列:\for (int i = 0; i < array.length; i++) { }

System.out.print(\if(finish[i]==true){ }

count++;

}

req[i]=scanner.nextInt();

if(req[0]<=need[choose][0]&&req[1]<=need[choose][1]&&req[2]<=need[choose][2]){

if(req[0]<=available[0]&&req[1]<=available[1]&&req[2]<=available[2]){

for (int i = 0; i < resource; i++) {

available[i]=available[i]-req[i];

allocation[choose][i]=allocation[choose][i]+req[i];

}

int[] work1=new int[3];

for (int i = 0; i < work1.length; i++) { }

boolean[] finish1=new boolean[process]; for (int i = 0; i < process; i++) { }

int[] array1=new int[process]; int num1=1; int count11=1; while(num1

for (int i = 0; i < process; i++) {

for (int j = 0; j < 3; j++) {

if(finish1[i]==false){

finish1[i]=false; work1[i]=available[i];

need[choose][i]=need[choose][i]-req[i];

if(need[i][0]<=work1[0]&&need[i][1]<=work1[1]&&need[i][2]<=work1[2]){

resource; j2++) { for (int j2 = 0; j2 <

work1[j2]=work1[j2]+allocation[i][j2];

\

}

finish1[i]=true; array1[count11-1]=i;

count11++;

}

}

}

}num1++;

}

int count2=0;

for (int i = 0; i < array1.length; i++) { if(finish1[i]==true){ count2++; }

}

if(count2==process){ System.out.println(\存在一个安全序列:\ for (int i = 0; i < array1.length; i++) { System.out.print(\ }

}

else{System.out.println(\系统处于不安全状态! System.out.println();

}else{System.out.println(\资源不够清等待!\