【发布时间】:2018-05-06 10:51:01
【问题描述】:
作业调度器和进程调度器有什么区别吗?
【问题讨论】:
-
你使用了哪些定义?
-
术语可能因上下文而异。您正在阅读的教科书应该定义什么是工作以及什么是过程。 Windows 操作系统也有作业和进程。
标签: operating-system scheduling cpu-architecture job-scheduling
作业调度器和进程调度器有什么区别吗?
【问题讨论】:
标签: operating-system scheduling cpu-architecture job-scheduling
虽然术语有些含糊,但有问题的词的用法普遍接受。
进程调度(或管理)通常是指操作系统的一部分,它在当前运行的程序(也称为进程)之间共享 CPU 资源。这里的压力是这些程序已经在运行。
作业调度通常是指要在设定的时间运行的程序,通常(但不总是)在重复的基础上运行。如果经常使用像 cron 这样的实用程序来完成这类事情。这里的重点是这些程序当前没有运行,而是按计划运行。
在过去(糟糕的)批处理操作系统很常见的时代,所有程序都受制于这种作业调度。复杂的大型机操作系统将决定哪些程序将运行,哪些程序将被延迟或彻底拒绝。很高兴,很高兴,您不需要学习 IBM 作业控制语言 (JCL),并且愿您永远不必学习。
【讨论】:
job 和process。有时,它们被认为是同义词。所以我不确定there is a generally accepted usage of the words 的声明有多有效。但我认为你的答案至少在 1950-70 年代的背景下是正确的。
“作业调度”通常用于运行批处理作业的上下文中。对于只使用过太监变种的人来说,这是一个陌生的概念。但是,批处理曾经是操作系统不可或缺的一部分。
通常会有具有不同属性的批处理队列。队列可能会限制可以同时运行的作业数量。它也只能在白天的特定时间运行。队列可能有不同的优先级。
例如,如果您有一项需要两个月才能运行的分子建模工作,您可能会让它在晚上开始运行并在早上停止。
队列中作业的调度独立于系统上运行的进程的调度。
【讨论】: