实验一、作业调度实验
专业:商软二班
姓名:林志杰
学号:201406114215
一、 实验目的
(1)加深对作业调度算法的理解;
(2)进行程序设计的训练。
二、 实验内容和要求
用高级语言编写一个或多个作业调度的模拟程序。
单道批处理系统的作业调度程序。作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素。
三、 实验方法、步骤及结果测试
void input(); /*输入作业信息*/
int space(); /* 返回就绪队列中作业的数目*/
void sort(); /*按提交时间排序*/
void disp(JCB *pr); /* 显示相应的作业*/
void disp_hrn(JCB *pr);/*显示高响应比作业*/
void running(); /*运行作业组*/
void destroy(); /* 撤销作业*/
void check(); /*调度作业并选择算法排序就绪队列*/
先到先服务FCFS方法:
按照作业进入系统后背作业队列的先后次序来挑选作业,先进入系统的作业将优先被挑选进入内存,创建用户进程,分配所需资源,然后移入就绪队列。
实验结果截图:
最短作业优先SJF方法:算法以进入系统作业所要求的CPU运行时间的长短为标准,总是选取预计计算时间最短的作业投入运行
实验结果截图:
最高响应比优先算法HRRF:既考虑作业等待时间,又考虑作业处理时间,这样既照顾短作业又不会使长作业的等待时间过长,有效地改善调度性能
实验结果截图:
四、实验总结
1、什么是作业
作业是用户提交给操作系统计算的一个独立任务。每个作业必须经过若干相对独立且相互关联的顺序加工步骤才能得到结果,其中每个加工步骤称为一个作业步。
2、为了方便模拟调度过程,作业使用什么方式的数据结构存放和表示?
链表。存放作业名,运行时间,提交时刻等信息
3、操作系统中,常用的作业调度算法有哪些?
(1)先来先服务调度算法(FCFS)
(2)短作业优先调度算法(SPF)
(3)最高响应比优先算法(HRN)
(4) 基于优先数调度算法(HPF)
(5)多级队列调度算法