基本信息
文件名称:作业调度算法.pdf
文件大小:153.22 KB
总页数:3 页
更新时间:2025-05-30
总字数:约2.96千字
文档摘要

作业调度算法

【摘要】在多道系统中,对批处理作业需要进行作业调度。作业调度是在资

源满足的条件下,将处于后储备状态的作业调入内存,同时生成与作业相对应的

进程,并为这些进程提供所需要的资源。作业调度程序只能保证被调度的作业有

获得处理器的资格,而处理器的分配则需要进程调度才能完成。作业调度需要根

据作业控制块中的信息,检查系统是否满足作业的资源需求。只有在满足作业的

资源需求的情况下,系统才能进行作业调度。下面是几种常见的作业调度算法:

先来先服务、轮换法、多级反馈队列算法、优先算法、短作业优先法以及最高响

应比优先法。本文将对这几种算法进行详细的介绍。

【关键词】先来先服务;轮换法;多级反馈队列算法;优先算法;短作业优

先法;最高响应比优先法

1.先来先服务

1.1定义

先来先服务(FCFS,FirstComeFirstServe)是最简单的调度算法,按先后顺

序进行调度。按照作业提交或进程变为就绪状态的先后次序,分派CPU;当前

作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。在作业

或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出

让CPU。

1.2适用场景

比较有利于长作业,而不利于短作业。有利于CPU繁忙的作业,而不利于

I/O繁忙的作业。

2.轮转法

2.1定义

轮转法(RoundRobin)是让每个进程在就绪队列中的等待时间与享受服务的

时间成正比例。将系统中所有的就绪进程按照FCFS原则,排成一个队列。每次

调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms

到几百ms。在一个时间片结束时,发生时钟中断。调度程序据此暂停当前进程

的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。

进程可以未使用完一个时间片,就出让CPU(如阻塞)。

2.2时间片长度的确定

时间片长度变化的影响:过长会导致退化为FCFS算法,进程在一个时间

片内都执行完,响应时间长。过短会导致用户的一次请求需要多个时间片才能处

理完,上下文切换次数增加,响应时间长。

对响应时间的要求:T(响应时间)=N(进程数目)*q(时间片)。

就绪进程的数目:数目越多,时间片越小。

系统的处理能力:应当使用户输入通常在一个时间片内能处理完,否则使响

应时间,平均周转时间和平均带权周转时间延长。

3.多级反馈队列算法

3.1定义

多级反馈队列算法(RoundRobinwithMultipleFeedback)是轮转算法和优先

级算法的综合和发展。设置多个就绪队列,分别赋予不同的优先级,如逐级降低,

队列1的优先级最高。每个队列执行时间片的长度也不同,规定优先级越低则时

间片越长,如逐级加倍。新进程进入内存后,先投入队列1的末尾,按FCFS算

法调度;若按队列1一个时间片未能执行完,则降低投入到队列2的末尾,同样

按FCFS算法调度;如此下去,降低到最后的队列,则按“时间片轮转”算法调度

直到完成。仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行。

如果进程执行时有新进程进入较高优先级的队列,则抢先执行新进程,并把被抢

先的进程投入原队列的末尾。

3.2优点

为提高系统吞吐量和缩短平均周转时间而照顾短进程。

为获得较好的I/O设备利用率和缩短响应时间而照顾I/O型进程。

不必估计进程的执行时间,动态调节。

4.优先级法

4.1静态优先级

优先级算法(PriorityScheduling)是多级队列算法的改进,平衡各进程对响

应时间的要求。适用于作业调度和进程调度,可分成抢先式和非抢先式。作业调

度中的静态优先级大多按以下原则确定:由用户自己根据作业的紧急程度输入一

个适当的优先级。由系统或操作员根据作业类型指定优先级。系统根据作业要求

资源情况确定优先级。进程的静态优先级的确定原则:按进程的类型给予不同的

优先级。将作业的情态优先级作为它所属进程的优先级。

4.2动态优先级

进程的动态优先级一般根据以下原则确定:根据进程占用有CPU时间的长

短来决定。根据就绪进程等待CPU的时间长短来决定