📜  调度器和调度器的区别

📅  最后修改于: 2021-09-27 15:43:59             🧑  作者: Mango

调度器是一种特殊的系统软件,它以各种方式处理进程调度。他们的主要任务是选择要提交到系统中的作业并决定运行哪个进程。调度器分为三种:

  1. 长期(作业)调度程序——由于主内存较小,最初所有程序都存储在二级内存中。当它们被存储或加载到主内存中时,它们被称为进程。这是长期调度程序的决定,即有多少进程将留在就绪队列中。因此,简单来说,长期调度器决定了系统的多道程序化程度。
  2. 中期调度程序——大多数情况下,正在运行的进程需要不需要 CPU 的 I/O 操作。因此,在需要 I/O 操作的进程执行期间,操作系统将该进程从运行队列发送到阻塞队列。当一个进程完成它的 I/O 操作时,它应该再次转移到就绪队列。所有这些决定都是由中期调度程序做出的。中期调度是交换的一部分。
  3. 短期(CPU)调度程序——当主内存中有很多进程时,所有进程都出现在就绪队列中。在所有进程中,将选择一个进程执行。该决定由短期调度程序处理。

    让我们看看下面给出的图。或许能让你看得更清楚。

调度员——
调度程序是在调度程序之后发挥作用的特殊程序。当调度程序完成其选择进程的工作时,调度程序将该进程带到所需的状态/队列。调度程序是在 CPU 被短期调度程序选中后对 CPU 进行进程控制的模块。该函数涉及以下内容:

  • 切换上下文
  • 切换到用户模式
  • 跳转到用户程序中的正确位置以重新启动该程序

调度器和调度器的区别——
考虑一种情况,其中各种进程驻留在就绪队列中等待执行。 CPU 无法同时执行所有这些进程,因此操作系统必须根据所使用的调度算法选择特定进程。因此,在各种进程中选择进程的过程是由调度程序完成。一旦调度程序从队列中选择了一个进程,调度程序就会进入画面,调度程序从就绪队列中取出该进程并将其移动到运行状态。因此,调度程序给调度程序一个有序的进程列表,调度程序随着时间的推移将这些进程移动到 CPU。

例子 –
就绪队列中有4个进程,P1、P2、P3、P4;它们的到达时间分别为 t0、t1、t2、t3。使用先进先出(FIFO)调度算法。因为P1最先到达,调度器会决定它是第一个应该被执行的进程,并且调度器将从就绪队列中移除P1并将其交给CPU。然后调度器会确定 P2 是下一个应该被执行的进程,所以当调度器返回队列等待一个新进程时,它将把 P2 交给 CPU。这对 P3 和 P4 以相同的方式继续。

Properties DISPATCHER SCHEDULER
Definition: Dispatcher is a module that gives control of CPU to the process selected by short term scheduler Scheduler is something which selects a process among various processes
Types: There are no different types in dispatcher.It is just a code segment. There are 3 types of scheduler i.e. Long-term, Short-term, Medium-term
Dependency: Working of dispatcher is dependent on scheduler.Means dispatcher have to wait until scheduler selects a process. Scheduler works independently. It works immediately when needed
Algorithm: Dispatcher has no specific algorithm for its implementation Scheduler works on various algorithm such as FCFS, SJF, RR etc.
Time Taken: The time taken by dispatcher is called dispatch latency. Time taken by scheduler is usually negligible.Hence we neglect it.
Functions: Dispatcher is also responsible for:Context Switching, Switch to user mode, Jumping to proper location when process again restarted The only work of scheduler is selection of processes.