实验三 进程调度
(一)教学要求
了解单处理器情况下进程调度的过程。 (二)知识点提示
各种进程调度算法。 (三)教学内容
运行下面的程序,回答问题。 public class ProgressData { public int arrived; //进程到达时间 public int server; //进程服务时间 public int finished; //进程完成时间 public int working; //进程周转时间 public float powerWorking; //带权周转时间 public ProgressData(){}; public ProgressData(int arr,int ser){ arrived=arr; server=ser; } public String toString(){ return arrived+\+server+\+\ +working+\+String.format(\ } } public class ProgressMain { //先来先服务 public static void FCFS(ProgressData a[]){ int preFinished=0; ProgressData a1[]=a; float total_powerWorking=0; for(int i=0;i
} for(int i=0;ipriority&&a1[j].finished==0&&a1[j].arrived<=preFinished){ } priority=sub; num=j; a1[i].finished=0; a1[i].working=0; a1[i].powerWorking=0; total_powerWorking=0; for(int j=0;j
(3)若进程调度按静态优先级调度:5个进程的优先级分别为:6,3,7,9,4(值越小,表示优先级越高),请写出程序,模拟调度算法的执行并写出运行结果。 (四)思考题
1、简要描述三种类型的处理机调度。 2、抢占式和非抢占式调度有什么区别? 3、周转时间和响应时间有什么区别?