Java模拟最短作业优先、时间片轮转、最高响应比和先来先服务进程调度算法
标签:
•
文件类型: .rar
•
文件大小: 1.71MB
•
下载次数: 1
•
Java模拟最短作业优先、时间片轮转、最高响应比和先来先服务进程调度算法
rar中有四种算法和俩个对进程用时和周转时间制图的java源代码,另外有jcommon-1.0.23.jar和jfreechart-1.0.19.jar俩个制图包
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2827 2018-06-21 15:16 sjfhrrnrrFCFS.java
文件 3490 2018-06-21 15:15 sjfhrrnrrHRRN.java
文件 330246 2014-07-31 14:02 sjfhrrnrrjcommon-1.0.23.jar
文件 1570157 2014-07-31 14:02 sjfhrrnrrjfreechart-1.0.19.jar
文件 2203 2018-06-21 15:13 sjfhrrnrrLine.java
文件 2006 2018-06-21 15:08 sjfhrrnrrline2.java
文件 1588 2018-06-21 12:41 sjfhrrnrrProcess.java
文件 3486 2018-06-21 15:22 sjfhrrnrrRR.java
文件 3058 2018-06-21 15:44 sjfhrrnrrSJF.java
目录 0 2018-06-21 16:06 sjfhrrnrr
----------- --------- ---------- ----- ----
1919061 10
package sjfhrrnrr;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/***
* 先来先服务算法 *
*/
public class FCFS {
private static int task_num = Process.task_num;
public static List task_time = new ArrayList<>();
private static SimpleDateFormat df = new SimpleDateFormat(“HHmmss“);
private static SimpleDateFormat tm = new SimpleDateFormat(“HH:mm:ss“);
private static List execute_time = new ArrayList<>();
private static String []str=new String[task_num]; //周转时间
private static String []str1=new String[task_num]; //进程号数组
private static String []str2=new String[task_num]; //用时
private static String str3; //平均周转时长
public static void FCFS() {
for (int i = 0; i < task_num; i++) {
try {
double[] t = get_task(task_timei);
int current_task_time = (int) t[3];
int task_NO = (int) t[0];
System.out.print(tm.format(new Date()) + “第“ + task_NO + “号进程开始执行====“);
Thread.sleep(1000 * current_task_time);
System.out.println(“ “ + tm.format(new Date()) + “执行完成=====用时为“ + current_task_time + “S“);
str1[i]=task_NO+““;
str2[i]=current_task_time+““;
double exe_time =System.currentTimeMillis() - t[1];
double[] e = new double[2];
e[0] = task_NO;
e[1] = exe_time;
execute_time.add(e);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
show_time();
new Line(“FCFS“str str1 str2);
new line2(“FCFS“ str1 str str3);
}
public static void show_time()
{
double sum_time=0;
for(int i=0;i {
double[] t=execute_time.get(i);
System.out.println(“task:“+t[0]+“:周转时间=“+(int)(t[1]/1000)+“S“);
sum_time+=t[1];
str[i]=(int)(t[1]/1000)+““;
}
System.out.println(“使用最短作业优先的策略,平均周转时间为:“+(int)(sum_time/execute_time.size()/1000)+“S“);
str3=(int)(sum_time/execute_time.size()/1000)+““;
}
public static double[] get_task(List task_timeint t) {
double[] rt = new double[4];
rt = task_time.get(t);
return rt;
}
static void init_task(List task_info int tn) {
task_num = tn;
for (int i = 0; i < task_num; i++) {
double[] t = task_info.get(i);
t[1] = System.currentTimeMillis();
task_time.add(t);
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2827 2018-06-21 15:16 sjfhrrnrrFCFS.java
文件 3490 2018-06-21 15:15 sjfhrrnrrHRRN.java
文件 330246 2014-07-31 14:02 sjfhrrnrrjcommon-1.0.23.jar
文件 1570157 2014-07-31 14:02 sjfhrrnrrjfreechart-1.0.19.jar
文件 2203 2018-06-21 15:13 sjfhrrnrrLine.java
文件 2006 2018-06-21 15:08 sjfhrrnrrline2.java
文件 1588 2018-06-21 12:41 sjfhrrnrrProcess.java
文件 3486 2018-06-21 15:22 sjfhrrnrrRR.java
文件 3058 2018-06-21 15:44 sjfhrrnrrSJF.java
目录 0 2018-06-21 16:06 sjfhrrnrr
----------- --------- ---------- ----- ----
1919061 10
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)