作业调度,也称为批处理调度,是分配系统资源以控制无人值守后台程序执行的过程。调度程序决定在什么时间执行哪些作业,以及完成作业所需的中央处理单元 (CPU) 资源。它确保所有工作都按照设定的优先级完成。
作业调度,也称为批处理调度,是分配系统资源以控制无人值守后台程序执行的过程。调度程序决定在什么时间执行哪些作业,以及完成作业所需的中央处理单元 (CPU) 资源。它确保所有工作都按照设定的优先级完成。
作业调度软件可以实时执行调度和监控作业或批次。现代作业调度程序具有带有单点控制系统的图形用户界面 (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 调度。
传统的作业调度工具自动执行特定平台或应用程序的任务。另一方面,工作负载自动化软件将作业控制集中在多个平台上,增加了操作系统之间的协调并减少了冲突。