短期计划与调度程序之间的区别

时间:2018-11-10 15:46:13

标签: operating-system

目前,我正在阅读有关调度程序和调度算法的信息。

  

我真的对短期调度程序和调度程序感到困惑。

在某些地方,它们是相同的。在某些地方,他们的工作有所不同。

从我所读的内容中,我得出的结论是-调度程序的“调度”是由与硬件中断相关的代码或与系统调用相关的代码引起的。通过这种方式,从用户模式切换到内核模式。然后,短期调度程序从可用进程的队列中选择一个进程,以对其进行控制。短期调度程序的任务到此结束。

现在调度员开始工作了。调度程序是将CPU控制权交给短期调度程序选择的进程的模块。此功能涉及以下内容:-切换上下文-切换到用户模式-跳转到用户程序中的适当位置以重新启动该程序。

  
      
  1. 我的理解正确吗?

  2.   
  3. 假定进程A被抢占,然后进程B被调度。上下文切换期间发生了什么?过程的上下文数据如何   A,调度程序,调度程序,进程B是否已保存和还原?

  4.   

1 个答案:

答案 0 :(得分:0)

过程切换步骤的不同划分取决于系统。操作系统书籍喜欢使这些步骤变得复杂,并将其分为多个步骤。

实际上只有两个步骤: 1.选择一个新的过程。 2.切换到新流程。

最后一步很简单;非常简单,可能不值得被称为一个单独的步骤。

大多数CPU定义一种通常称为“进程上下文块”(PBC)的结构。 PCB的每个寄存器都有一个插槽,用于定义过程状态。切换过程可以很简单:

SAVEPCTX pcb_address_of_current_process ; Save the state of the running process
LOADPCTX pcb_address_of_new_process ; Load the state of the other process.
REI

某些处理器需要更多步骤,例如必须分别保存浮点寄存器。