作业调度是什么?详细介绍

作业调度,也称为批处理调度,是分配系统资源以控制无人值守后台程序执行的过程。调度程序决定在什么时间执行哪些作业,以及完成作业所需的中央处理单元 (CPU) 资源。它确保所有工作都按照设定的优先级完成。

图片[1] - 作业调度是什么?详细介绍 - 乐享科讯网

作业调度软件可以实时执行调度和监控作业或批次。现代作业调度程序具有带有单点控制系统的图形用户界面 (GUI)。许多公司使用工作负载自动化软件来自动化与作业调度、处理和仓储相关的容易出错的任务。

工作负载自动化软件帮助企业减少人工交互,使 IT 部门能够专注于更高优先级的任务。IT 专业人员可以快速解决集中记录和报告问题,并利用自动修复、警报和通知等其他功能。

作业调度的类型

公司通过多种类型的调度流程来调度作业或批次。以下是 IT 团队用于优化其环境的三种常见作业调度类型。

  • 长期调度:当创建新进程时,可以处理一长串项目。这需要强大的处理能力并增加操作系统的开销。操作系统维护着一个很长的列表,并且上下文切换和调度有所增加。这种类型迎合了管理如此长的进程列表。长期调度程序决定进入短期或中期调度程序处理队列的作业。它根据不同的处理算法限制进入队列的进程。
  • 中期调度:对于某些操作系统,新进程以换出状态开始。当进程从随机存取存储器 (RAM) 中删除并添加到硬盘时,就会发生换出。这种类型是交换功能的一部分。当主内存中有空闲空间时,调度程序决定可以换入哪个进程。这取决于内存、优先级和其他所需资源。中期调度器经常为换出的进程执行换入功能。
  • 短期调度:短期调度器,也称为调度器,在新事件发生时启动。这种情况发生得更频繁,并且可能会中断正在运行的进程。短期调度程序速度很快,会选择准备好执行的新进程,将 CPU 分配给其中一个,这种情况非常频繁。

作业调度算法

短期调度主要使用作业调度算法来分配进程和优化系统行为。以下是一些影响应将哪些进程分配给 CPU 的常见调度算法或策略。

FCFS 调度算法

先到先服务(FCFS)作业调度算法遵循先进先出的方法。当进程加入就绪队列时,调度程序会选择队列中最旧的作业并将其发送给处理。这些作业的平均处理时间相对较长。

SJF 调度

最短作业优先 (SJF),也称为最短作业下一个 (SJN),它选择需要最短处理时间的作业并将其分配给 CPU。该算法将每个进程与下一个 CPU 突发的长度相关联。CPU 爆发是指进程在 CPU 不再准备好之前使用它。

假设两个作业具有相同的 CPU 突发。然后调度程序将使用 FCFS 算法来解决关系并将其中一个移动到执行。

优先调度

优先级调度为每个进程关联一个优先级(一个整数)。优先级最高的将首先执行。通常,最小的整数被分配给具有最高优先级的作业。如果有两个具有相似优先级的作业,则该算法使用 FCFS 来确定哪个将进入处理。

循环调度

循环调度是为分时系统设计的。它是一个基于时钟的抢占式调度器,通常被称为时间分片调度器。每当出现周期性时钟间隔时,调度程序将当前正在处理的作业移动到就绪队列。它以先到先得的方式处理队列中的下一个作业。

在这种调度算法中,决定时间片或时间片是很棘手的。如果时间片很短,小型作业的处理速度会更快。

作业调度软件如何工作?

企业作业调度软件由作业调度接口和执行代理组成。这些元素在作业调度系统的整体功能中起着至关重要的作用。

以下是作业或批处理调度程序的一些主要职责:

  • 借助拖放功能定义要执行的任务
  • 创建队列并安排作业以优先执行任务
  • 根据优先级、频率等多种因素将工作分配给合适的代理

另一方面,执行代理负责以下进程:

  • 提交任务以执行
  • 在执行期间监控任务

执行代理是指技术信息,例如 CPU 可用性、预计执行时间和执行期间的依赖关系。

公司可以使用工作负载调度软件自动执行各种任务。

作业调度 vs. CPU 调度 vs. 工作负载自动化

作业调度和 CPU 调度都与进程执行相关联。作业调度是决定应将哪个进程移至就绪队列的机制。通常,长期调度程序执行作业调度。

另一方面,CPU 调度是一种确定接下来应该执行哪个进程并相应地分配 CPU 的机制。短期调度程序通常执行 CPU 调度。

传统的作业调度工具自动执行特定平台或应用程序的任务。另一方面,工作负载自动化软件将作业控制集中在多个平台上,增加了操作系统之间的协调并减少了冲突。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享