先来先服务

处理机调度

丶灬走出姿态 提交于 2020-01-01 13:45:35
1 处理机的二级调度 宏观上:作业调度 微观上:进程调度 2 作业调度 2.1作业调度的功能 作业调度的主要任务是完成作业从后备状态到执行状态和从执行状态到完成状态的转变。 作业调度功能: 1.记录已进入系统的各作业的情况(JCB,Job Control Block); 2.按一定的调度算法,从后备作业中选择一个或几个作业进入系统内存; 3.为被选中的作业创建进程,并且为其申请系统资源; 4.作业结束后作善后处理工作。 2.2 作业控制块(JCB,Job Control Block) 每个作业进入系统时由系统为其建立一个作业控制块JCB(Job Control Block),它是存放作业控制和管理信息的数据结构,主要信息见下图。 2.3 调度性能的衡量 作业调度算法规定了从后备作业中选择作业进入系统内存的原则,这些原则的性能如何,就是本节所讨论的问题。 一、确定调度算法时应考虑的因素 1.应与系统的整体设计目标一致 2.考虑系统中各种资源的负载均匀 3.保证作业的执行 4.对一些专用资源的使用特性的考虑 二、调度性能的衡量 通常采用平均周转时间和带权平均周转时间 作业的周转时间: ti = tci-tsi ti:作业周转时间 tci:作业完成时间 tsi: 作业提交时间 2.4 先来先服务调度算法和短作业优先调度算法 先来先服务调度算法:

FCFS 先来先服务 (java)

馋奶兔 提交于 2019-12-16 00:06:19
操作系统中的 先来先服务算法 运行结果 流程图 ---------------------java代码------------------------ package operate ; import java . util . PriorityQueue ; import java . util . Queue ; import java . util . Scanner ; /** * 先来先服务 算法 FCFS * 非抢占式 * @author ymj * @Date: 2019/12/15 20:22 */ public class FCFS { static Scanner cin = new Scanner ( System . in ) ; /** 进程控制块 */ static class PCB implements Comparable < PCB > { int id ; // 进程id int arriveTime ; // 到达时间 int runTime ; // 运行时间 int turnAroundTime ; // 周转时间 int waitTime ; // 等待时间 PCB ( int id , int arriveTime , int runTime ) { this . id = id ; this . arriveTime =