我研究了Job Scheduler的主题,并且有不同的类型,如长期,中期和短期调度程序,最后与这些事情混淆。
所以我的问题是,“在这三个调度程序中,哪个调度程序类型将使用调度算法(如FCFS,SJF等)”
到目前为止,我的理解是,“调度算法将从就绪队列中获取作业(其中包含要执行的作业列表,其中已准备好更多)并尽可能地保持CPU忙” 的
长期计划程序决定了就绪队列中允许的所有作业是什么。
那么,长期调度程序是那个将使用那些调度算法的人。?。
而且,我已经看到了链接https://en.wikipedia.org/wiki/Scheduling_(computing)
我已经看到了,
注意:以下几行摘自Wiki ...
“因此,短期调度程序比长期或中期调度程序更频繁地制定调度决策......”
那么,是否所有这3个调度程序都将使用调度算法。??
最后,我对此感到困惑,并对这些类型的调度程序之间的区别感到困惑。
有人可以简单地解释一下吗?
所以我能够理解这个。
提前致谢。
答案 0 :(得分:2)
因此,是否所有这3个调度程序都将使用调度 ALGO ??
基本上,调度算法由所有这三个选择,具体取决于那时的功能。所有这些都需要在任何时候进行某种调度决策,因为它们都是调度程序。因此,这一切都取决于哪个瞬间执行(短期调度程序与其他程序相比执行频率更高)。
维基百科提到这一点是正确的。我希望你能得到答案。
说明:
如Process Scheduling page on tutorialspoint中所述: -
调度程序是特殊的系统软件,它以各种方式处理进程调度。他们的主要任务是选择要提交到系统中的作业并确定要运行的进程。
长期计划程序------>它从池中选择进程并将它们加载到内存中以便执行
中期调度程序----->它选择那些准备执行的进程。
短期调度程序------>它可以将进程重新引入内存并继续执行。
以下列表(click here for source)显示了三种类型的操作系统(批处理,交互式和操作系统)中的每种类型的调度程序(长期,短期和中期)中的每一种的功能实时)。
批次
长期----->基于特征和资源的工作录取 需要
中期----->通常没有工作在完成之前仍然存储
短期----->优先安排的流程;继续等待 自愿,请求服务或被终止
<强>交互式强>
长期-----&gt;会话和流程通常被接受,除非 能力达到
中期-----&gt;必要时交换过程
短期-----&gt;轮流安排的进程;继续,直到 请求服务,时间量程到期或预先占用
<强>实时强>
长期-----&gt;流程永久或立即接受
中期-----&gt;流程永远不会交换
短期-----&gt;基于严格优先级的即时调度 抢占;可以按时间分享具有同等优先级的流程