实验一 作业调度算法模拟 姓名:海日汗 学号:********** 1 概述 操作系统的作业调度算法主要有先来先服务(FIFO),短作业优先,最高响应比优先调度算法,基于优先数调度算法等等 2 实验目的 模拟实现FIFO、短作业优先(sjf)和最高响应比优先作业调度算法 3 实验要求 输入:作业序列,即一系列要执行的作业,每个作业包括三个数据项: 作业号、作业进入系统的时间(用一整数表示,如 10:10,表示成 1010)、估计执行时间(单位分) 参数用空格隔开,下面是示例: 1 800 50 2 815 30 3 830 25 4 835 20 5 845 15 6 900 10 7 920 5 其中调度时刻为最后一个作业到达系统的时间
4 源代码 #inclu de u sing namespace std; struct job { char name[20]; //作业名 int subtime; //提交时间 int runtime; //运行时间 int stime; //开始时间 int ftime; //完成时间 int ztime; //周转时间 int wtime; //等待时间 double dtime; //带权周转时间 double rratio; //响应比 }; int flag=0; double sumztime,sumdtime; double avgztime,avgdtime; void input(job *p,int n); //输入 void output(job *p,int n);//输出 void datahandle(job *p,int n); //数据处理 void sort(job *p,int n); //按提交时间排序 void fcfs(job *p,int n); //先来先服务 void sjf(job