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

What is the difference between job scheduling and process scheduling?

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

虽然这些术语有些含糊,但有一个普遍接受的用法。

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

作业调度通常是指在设定的时间 运行 执行的程序,通常(但不总是)在重复的基础上执行。如果经常使用诸如 cron 之类的实用程序来完成这种事情。此处强调的是,这些程序当前未 运行,但计划 运行 在某个时间表上。

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

"Job Scheduling" 通常用于 运行ning 批处理作业的上下文中。对于只使用过 Eunuchs 变体的人来说,这是一个陌生的概念。然而,批处理曾经是操作系统不可或缺的一部分。

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

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

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