【问题标题】:Difference between short term schedular and dispatcher短期调度程序和调度程序之间的区别
【发布时间】:2019-04-13 21:36:26
【问题描述】:

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

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

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

从我读到的任何内容,我得出的结论是 - 调度程序的“调度”是由与硬件中断相关的代码或与系统调用相关的代码引起的。这样就发生了从用户模式到内核模式的模式切换。然后短期调度程序从可用进程的队列中选择一个进程来控制 CPU。短期调度器的任务到此结束。

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

  1. 我的理解正确吗?

  2. 假设进程 A 被抢占,接下来安排进程 B。上下文切换期间发生了什么? Process的上下文数据如何 A、调度器、调度器、进程B保存恢复?

【问题讨论】:

    标签: operating-system


    【解决方案1】:

    进程切换步骤的各个部分取决于系统。操作系统书籍喜欢将这些步骤复杂化并将其分成多个步骤。

    实际上只有两个步骤: 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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-18
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多