作业调度的算法有哪些
发布网友
发布时间:2023-07-15 08:27
我来回答
共1个回答
热心网友
时间:2024-12-04 07:42
作业调度的功能主要有以下几方面。
记录各作业在系统中的状态;
从后备队列中挑选一部分作业投入运行;
从被选中的作业做好执行前的准备工作;
在作业执行结束时,做善后处理工作。
进行作业调度有很多作业调度算法,这些作业调度算法要实现的目标是:
调度对所有作业都是公平合理的;
应使设备有较高的利用率(提供系统利用率);
每次运行尽可能多的作业(提高系统吞吐量);
较快的相应时间。
作业调度的常用算法有先来先服务、最短作业优先算法、最高响应比优先算法、基于优先数调度算法,下面对这些算法做详细介绍。
先来先服务是最简单的调度算法,按作业的先后顺序进行调度。
最短作业优先算法是对先来先服务算法的改进,其目标是减少平均周转时间。对预计执行时间短的作业优先分派处理机。通常后来的短作业不抢先正在执行的作业。
对高响应比优先算法是对先来先服务方式和最短作业优先算法方式的一种综合平衡。先来先服务方式只考虑每个作业的等待时间而未考虑执行时间的长短,而最短作业优先算法方式只考虑执行时间而未考虑等待时间的长短。最高响应比优先法调度策略同时考虑每个作业的等待时间的长短和估计需要的执行时间长短,从中选出相应比最高的作业投入执行,响应比R定义如下:
R=(W+T)/T=1+W/T
其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。
作业调用的常用算法有先来先服务算法、最短作业优先算法、最高响应比优先算法、基于优先数调度算法。