没有合适的资源?快使用搜索试试~ 我知道了~
首页操作系统实验报告二——作业调度实验报告
操作系统实验报告二——作业调度实验报告

作业调度实验报告 一、 实验目的 本实验要求学生模拟作业调度的实现,用高级语言编写和调试一个单道批处理系统的作业调度模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。 二、 实验题目 编写并调试一个单道批处理系统的作业调度程序 三、 实验内容与要求 ⑴、 编写并调试一个单道处理系统的作业调度模拟程序。 ⑵、 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF),响应比高者优先(HRN)调度算法。 ……
资源详情
资源评论
资源推荐

作业调度实验报告
一、 实验目的
本实验要求学生模拟作业调度的实现,用高级语言编写和调试一个单道
批处理系统的作业调度模拟程序,了解作业调度在操作系统中的作用,以加
深对作业调度算法的理解。
二、 实验题目
编写并调试一个单道批处理系统的作业调度程序
三、 实验内容与要求
1、 编写并调试一个单道处理系统的作业调度模拟程序。
2、 作业调度算法:分别采用先来先服务(FCFS),最短作业优先( SJF),
响应比高者优先(HRN)调度算法。
⑶、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源
直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,
它所占用的 CPU 时限等因素。
⑷、每个作业由一个作业控制快 JCB 表示,JCB 可以包含如下信息:作业名、
提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状
态可以是等待 W(Wait)、运行 R(Run)、和完成 F(Finish)三种状态之
一。每个作业的最初状态总是等待 W。
⑸ 对每种调度算法都要求打印每个作业开始运行时刻、完成时间、周转时间、
带权周转时间,以及这组作业的平均周转时间和带权平均周转时间,并比较各
种算法的优缺点。
四、 实验设计方案及原理
1、 作业控制快 JCB。为了管理和调度作业,在多道批处理系统中为每个作业
设置了一个作业控制快,如同进程控制块是进程在系统中存在的标志一样,
它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需
的全部信息。在 JCB 中包含的内容因系统而异,通常应包含的内容有:作
业标识、用户名称、用户帐号、作业类型(CPU 繁忙型、I/O 繁忙型、批量
型、终端型)、作业状态、调度信息(优先级、作业已运行时间)、资源需

求(预计运行时间、要求内存大小、要求 I/O 设备的类型和数量等)、进入
系统时间、开始处理时间、作业完成时间、作业退出时间、资源使用情况等
等。
2、
五、 程序流程图
(1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先
提交的先被挑选。流程图如图 1 所示。
空
结 束
计算并打印这组作业的平均周转时间及带权平均周转时间
等 待 队 列
空?
更改时间量 times 的值;
times:=times+ 服务时间
计 算 并 打 印 运 行 作 业 i 的 完 成 时 刻
finishtime ,周转时间 cycletime ,带权周转时
间 cltime;
完成时间: = 开始运行时间 + 服务时间
周转时间: = 完成时间—到达时间
带权周转时间: = 周转时间 / 服务时间
调度队首的作业投入运行;
更改队首指针,使作业的状态为 R ,记住
作业运行的时刻 starttime 等
初始化所有的 JBC
使 JBC 按作业提交的时刻的先后顺
序排队
时间量 times:=0
开 始
不空

图 1 先来先服务调度算法流程图
(2)最短作业优先算法:是以进入系统的作业所提出的“执行时间”为标准,
总是优先选取执行时间最短的作业。流程图如图 2 所示。
图 2 短作业优先调度算法流程图
空
结 束
计算并打印这组作业的平均周转时间及带权平均周转时间
等 待 队 列
空?
更改时间量 times 的值;
times:=times+ 服务时间
计 算 并 打 印 运 行 作 业 i 的 完 成 时 刻
finishtime ,周转时间 cycletime ,带权周转
时间 cltime;
完成时间: = 开始运行时间 + 服务时间
周转时间: = 完成时间—到达时间
带权周转时间: = 周转时间 / 服务时间
总是选择执行时间最短的作业为此时要运
行的作业,并更改相应指针,使作业的状
态为 R ,记住作业运行的时刻 starttime 等
初始化所有的 JBC
使 JBC 按作业提交的时刻的先后顺
序排队
时间量 times:=0
开 始
不空

(3)响应比高者优先算法:是在每次调度前都要计算所有被选作业(在
后备队列中)的响应比,然后选择响应比最高的作业执行。流程图如图所示。
图 3 响应比高者优先算法流程图
空
结 束
计算并打印这组作业的平均周转时间及带权平均周转时间
等 待 队 列
空?
更改时间量 times 的值;
times:=times+ 服务时间
计 算 并 打 印 运 行 作 业 i 的 完 成 时 刻
finishtime ,周转时间 cycletime ,带权周转
时间 cltime;
完成时间: = 开始运行时间 + 服务时间
周转时间: = 完成时间—到达时间
带权周转时间: = 周转时间 / 服务时间
先计算队列中所有作业的响应比,总是选
择响应比最高的走也作为此刻要运行的作
业,并修改相应的指针,记下 starttime 等
初始化所有的 JBC
使 JBC 按作业提交的时刻的先后顺
序排队
时间量 times:=0
开 始
不空
剩余16页未读,继续阅读













安全验证
文档复制为VIP权益,开通VIP直接复制

评论3