调度程序和上下文切换器之间的区别?

时间:2015-09-27 00:04:46

标签: operating-system scheduling

我正在研究操作系统。我知道上下文切换器负责切换CPU运行的过程。它还保存和恢复进程的状态,以便稍后可以恢复执行。但是,我并不安静了解调度员。它对它负责什么?

由于

3 个答案:

答案 0 :(得分:0)

请记住,这些术语往往会有正式的定义,并且不同系统的使用情况会有所不同。那就是说,你所谓的"上下文切换器"通常被称为"调度员"。他们是一样的。

答案 1 :(得分:0)

正如其他答案中所述,实际含义取决于使用这些术语的背景。

当发生中断时,CPU将控制权交给系统级代码。此代码负责保存中断任务的上下文,建立上下文以运行系统级代码并恢复(可能不同的)中断任务的上下文。这就是我所说的上下文切换器

术语调度与调度相关联,意味着大致选择要运行的下一个任务。

因此,在典型的任务切换中,例如由于定时器中断,上下文切换器首先保存中断任务的上下文,建立上下文以运行系统代码,然后调用调度程序。它的工作是选择要切换的任务。该任务将返回到上下文切换器,从而恢复关联的上下文。

答案 2 :(得分:0)

所以是的,上下文切换是指保存当前正在运行的进程的上下文,以便稍后恢复,并使用即将到来的进程的上下文加载寄存器和程序计数器的值。

那么什么是派遣?

短期调度器决定就绪队列中的哪个进程下一个应该分配 CPU。因此,短期调度程序选择要在 CPU 上执行的进程并调用调度程序。然后dispatcher进行上下文切换,保存当前运行进程的上下文,将其从运行状态中移除,将短期调度器选中的进程分发给CPU。 总之,调度是一个涉及上下文切换的过程,尽管上下文切换不需要仅由调度程序调用。由于中断也可能发生上下文切换。