本章主要讨论处理机分配问题 调度策略考虑: ①周转时间 ②吞吐率 ③相应时间 ④设备利用率 研究的内容有: ①作业与进程的关系 ②作业调度策略与算法 ③进程调度策略与算法
§4.1 分级调度 1.作业的状态及其转换 ①提交状态:一个作业在其处于输入设备进入外部存储设备的过程称为提交状态 ②后备状态(收容状态):输入管理系统不断地将作业输入到外存对应部分(或称输入井),如果一个作业的全部信息已全部输入到输入井,在它还没有被调度去执行前,该作业处于后备状态。 ③运行状态:作业一旦被作用调度程序选中而被送入主存中投入运行。 ④完成状态:作业运行完毕,但它所占用的资源尚未被系统全部回收时,该作业处于完成状态
作业状态及其转换图 交换调度 spooling 系统 完 成 运行 就绪 等待 外存 提交 收容 等待 就绪 进程调度 作业调度
所做的工作:1 选择作业; 2 分配资源;3 建立作业的进程; 4 建立有关的表格 5 作业的善后处理。 2.调度的层次 高级调度(作业调度、宏观调度)——按一定原则对外存输入井上的作业进行调度,并建立进程PCB。它决定允许哪些作业竞争系统资源。由于这种调度决定哪些作业可以进入系统,所以也称收容调度。作业一旦被系统收容,就便成进程或进程组。 所做的工作:1 选择作业; 2 分配资源;3 建立作业的进程; 4 建立有关的表格 5 作业的善后处理。
引入中级调度的目的是为了提高内存的利用率和系统吞吐量 中级调度(交换调度)--它决定允许哪些进程竞争处理机。中级调度通过使进程临时挂起和激活的方法对系统负载波动作出反映,以便获得平稳的系统操作和实现较好的系统综合性能目标,中级调度的作用使作为作业进入系统和将中央处理机分配给这些作业二者之间的一个缓冲。 引入中级调度的目的是为了提高内存的利用率和系统吞吐量
低级调度(进程调度)--它决定了存在就绪进程时,哪一个就绪进程将分配到中央处理机,并且把中央处理机实际分配给这个进程(即低级调度是将处理机分配给进程)。 低级调度是由每秒可操作许多次的处理机调度程序执行,处理机调度程序应常驻内存。 进程调度的方式:非抢占方式,抢占方式。 抢占的方式有:1 时间片原则;2 优先级原则;3 短进程优先原则
3.作业与进程的关系 作业是用户向计算机提交任务的任务实体。 进程是计算机为了完成用户任务实体而设置的执行实体。 显然,计算机要完成一个任务实体,必须要有一个以上的执行实体,一个作业总是由一个以上的多个进程组成。
§4.2 作业的调度 作业调度的功能:按某种算法从后备队列中挑选一个或一批作业调入内存,并创建PCB. 1.后备作业队列与作业控制块 系统中有若干作业在输入井中,为了管理和调度作业,就必须记录已进入系统的各作业的情况,系统为每个作业设置了一个作业控制块(JCB)。 内容:作业名、作业状态、作业调度,以及资源申请和一些控制信息。
作业控制块JCB 作业名 作业类型 资源要求 资源使用情况 优先级 当前状态 其它 作业控制块JCB
1.作业调度及其功能 作业调度--按照某种调度算法从后备作业队列中选取作业,使其进入内存运行。 作业调度程序的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法选取作业。
2.作业调度应完成如下几方面的工作 ①按照某种调度算法从后备作业队列中选取作业。 ②为被选取的作业分配内存和外设资源(当系统为动态分配外设时,作业所申请的外设只作为调度的参考因素)。因此要用到内存分配程序和外设分配程序。 ③为选中的作业建立相应的进程。 ④为作业开始运行做好一切准备工作。如构造和读写作业运行时所需要的有关表格及建立负责其运行控制的作业运行控制程序。 ⑤在作用运行完毕或运行过程中因某种原因需要撤离时,作业调度程序还有完成作业的善后处理工作,如收回分配给他的全部资源
3.作业调度目标与性能衡量 1).调度目标 ⑴对所有作业应该是公平合理 ⑵应使设备有高的利用率 ⑶每天执行尽可能多的作业 ⑷有快的响应时间
3.作业调度目标与性能衡量 2).作业调度的转换过程 (1)作业从后备状态到执行状态 P85(a)框图 (2)作业从执行状态到完成状态 P85(b)框图
作业从后备状态到执行状态 出 口 后备作业队列空 分配资源 是 否 按调度算法从作 业中选出一作业 调用进程管理 程序建立进程 调用存储、设备管理 程序,审核资源要求 进程调度 否 放弃该 作业 资源要求能满足?
作业从执行状态到完成状态 调用存储管理,设备管理回收 分配给该作业的全部资源 调用会计程序,计算该作业的执行费用 撤销该作业的所有进程及作业的JCB 调度下一个作业
3.作业调度目标与性能衡量 3).衡量一个作业调度算法是否满足系统设计的要求 给出两个常用的评价在批处理系统中对作业调度算法优劣的性能量度 1.周转时间: 作业i从提交时刻tsi到完成时刻tei称为作业的周转时间。 Ti=Tei-Tsi 完成 提交
3.作业调度目标与性能衡量 作业平均周转时间为(有n个作业,n>=1) n T=1/n ∑ Ti i=1 一个作业的周转时间说明了该作业在系统内停留的时间 包含两部分:一是等待时间;二为执行时间 Ti = Twi + Tri (停留时间)
3.作业调度目标与性能衡量 2.带权周转时间Wi: Wi=Ti/Tri 平均带权周转时间为: n W=1/n ∑ Wi i=1
4.3进程调度 4.3.1进程调度的功能 1记录系统中所有进程的执行情况 2选择占有处理机的进程 3进行进程上下文的切换 4.3.2进程调度的时机 4.3.3进程上下文切换