调度程序类型和调度算法的差异

时间:2016-04-06 11:35:47

标签: algorithm operating-system scheduling scheduler job-scheduling

我研究了Job Scheduler的主题,并且有不同的类型,如长期,中期和短期调度程序,最后与这些事情混淆。

所以我的问题是,“在这三个调度程序中,哪个调度程序类型将使用调度算法(如FCFS,SJF等)”

到目前为止,我的理解是,“调度算法将从就绪队列中获取作业(其中包含要执行的作业列表,其中已准备好更多)并尽可能地保持CPU忙”

长期计划程序决定了就绪队列中允许的所有作业是什么。

那么,长期调度程序是那个将使用那些调度算法的人。?。

而且,我已经看到了链接https://en.wikipedia.org/wiki/Scheduling_(computing)

我已经看到了,

注意:以下几行摘自Wiki ...

“因此,短期调度程序比长期或中期调度程序更频繁地制定调度决策......”

那么,是否所有这3个调度程序都将使用调度算法。??

最后,我对此感到困惑,并对这些类型的调度程序之间的区别感到困惑。

有人可以简单地解释一下吗?

所以我能够理解这个。

提前致谢。

1 个答案:

答案 0 :(得分:2)

  

因此,是否所有这3个调度程序都将使用调度   ALGO ??

基本上,调度算法由所有这三个选择,具体取决于那时的功能。所有这些都需要在任何时候进行某种调度决策,因为它们都是调度程序。因此,这一切都取决于哪个瞬间执行(短期调度程序与其他程序相比执行频率更高)。

维基百科提到这一点是正确的。我希望你能得到答案。

说明:

Process Scheduling page on tutorialspoint中所述: -

调度程序是特殊的系统软件,它以各种方式处理进程调度。他们的主要任务是选择要提交到系统中的作业并确定要运行的进程。

长期计划程序------>它从池中选择进程并将它们加载到内存中以便执行

中期调度程序----->它选择那些准备执行的进程。

短期调度程序------>它可以将进程重新引入内存并继续执行。

以下列表(click here for source)显示了三种类型的操作系统(批处理,交互式和操作系统)中的每种类型的调度程序(长期,短期和中期)中的每一种的功能实时)。

批次

  

长期----->基于特征和资源的工作录取   需要

     

中期----->通常没有工作在完成之前仍然存储

     

短期----->优先安排的流程;继续等待   自愿,请求服务或被终止

<强>交互式

  

长期-----&gt;会话和流程通常被接受,除非   能力达到

     

中期-----&gt;必要时交换过程

     

短期-----&gt;轮流安排的进程;继续,直到   请求服务,时间量程到期或预先占用

<强>实时

  

长期-----&gt;流程永久或立即接受

     

中期-----&gt;流程永远不会交换

     

短期-----&gt;基于严格优先级的即时调度   抢占;可以按时间分享具有同等优先级的流程