【问题标题】:What is the difference between job scheduling and process scheduling? [closed]作业调度和进程调度有什么区别? [关闭]
【发布时间】:2018-05-06 10:51:01
【问题描述】:

作业调度器和进程调度器有什么区别吗?

【问题讨论】:

  • 你使用了哪些定义?
  • 术语可能因上下文而异。您正在阅读的教科书应该定义什么是工作以及什么是过程。 Windows 操作系统也有作业和进程。

标签: operating-system scheduling cpu-architecture job-scheduling


【解决方案1】:

虽然术语有些含糊,但有问题的词的用法普遍接受。

进程调度(或管理)通常是指操作系统的一部分,它在当前运行的程序(也称为进程)之间共享 CPU 资源。这里的压力是这些程序已经在运行。

作业调度通常是指要在设定的时间运行的程序,通常(但不总是)在重复的基础上运行。如果经常使用像 cron 这样的实用程序来完成这类事情。这里的重点是这些程序当前没有运行,而是按计划运行。

在过去(糟糕的)批处理操作系统很常见的时代,所有程序都受制于这种作业调度。复杂的大型机操作系统将决定哪些程序将运行,哪些程序将被延迟或彻底拒绝。很高兴,很高兴,您不需要学习 IBM 作业控制语言 (JCL),并且愿您永远不必学习。

【讨论】:

  • 当结果值的时间尺度相对较大时,类似批处理的调度是有意义的。这样可以导致更大的系统资源利用率。亚马逊的 AWS 现场实例是作业调度互惠互利的实际示例(用户的廉价计算,计算提供商从其他未使用的资源中获得的收入)。
  • 我见过不同的现代操作系统教科书以不同的方式使用术语jobprocess。有时,它们被认为是同义词。所以我不确定there is a generally accepted usage of the words 的声明有多有效。但我认为你的答案至少在 1950-70 年代的背景下是正确的。
  • 谢谢,分时操作系统有作业调度器吗?
【解决方案2】:

“作业调度”通常用于运行批处理作业的上下文中。对于只使用过太监变种的人来说,这是一个陌生的概念。但是,批处理曾经是操作系统不可或缺的一部分。

通常会有具有不同属性的批处理队列。队列可能会限制可以同时运行的作业数量。它也只能在白天的特定时间运行。队列可能有不同的优先级。

例如,如果您有一项需要两个月才能运行的分子建模工作,您可能会让它在晚上开始运行并在早上停止。

队列中作业的调度独立于系统上运行的进程的调度。

【讨论】:

    猜你喜欢
    • 2015-02-09
    • 2021-07-16
    • 1970-01-01
    • 2018-02-06
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    相关资源
    最近更新 更多