处理机的调度:对概念性的问题这里就不做详细的介绍了,处理机的调度,对于先来先服务算法很好实现,只需记录每次输入的进程到来时间(这里用数字模拟),输入进程的名称以及运行时间。
这里是我自己的写的一个简单地代码,希望你可以理解,当然我在代码中有比较详细的注释,相信你会轻松拿下这个程序,get一点对你有用的知识。
import java.util.Scanner;
public class Process_test {
public static void main(String[] args) {
int ProNum = 4; //进程数量
//创建对象数组,目的是为了保存进程的相关信息
Process[] pro = new Process[ProNum];
pro[0] = new Process("1",8.0,2.0);
pro[1] = new Process("2",8.5,0.5);
pro[2] = new Process("3",9.0,0.1);
pro[3] = new Process("4",9.5,0.2);
//采用排序算法将进程进入时间由小到大进行排序
//进程进入时间由数字模拟,数字越小表示进程进入越早,对于调度算法就是表示越早调度
for(int i = 0;i
pro[j].getIncomeTime()){
Process temp;
temp = pro[j];
pro[j] = pro[i];
pro[i] = temp;
}
}
}
//计算周转时间,平均周转时间
//将第一个调度的进程的进入时间赋值给t
double submit = pro[0].getIncomeTime();
/*
* 默认当前处理机中无其他进程,则第一个进程进来之后会立马执行
* 则第一个进程的完成时间表示为:提交时间+运行时间
* 周转时间 = 完成时间-提交时间
*/
double finish = submit + pro[0].getRunTime();
double t = finish - submit; //周转时间 完成时间-提交时间
for(int i = 1;i
这就是这个简单程序最后的运行结果。我没有书写最后数字打印输出格式,所以这个结果你会看的不习惯。这是自己火急火燎完成的一段简单地代码,知识希望你能在其中里学到一点知识。