📜  操作系统中的进程调度程序

📅  最后修改于: 2022-05-13 01:56:11.810000             🧑  作者: Mango

操作系统中的进程调度程序

进程调度是进程管理器的活动,它处理从 CPU 中删除正在运行的进程以及根据特定策略选择另一个进程。

进程调度是多道程序操作系统的重要组成部分。这种操作系统允许一次将多个进程加载到可执行内存中,并且加载的进程使用时间多路复用共享 CPU。

有三种类型的进程调度程序。

  1. 长期或作业调度程序:
    它将新流程带入“就绪状态”。它控制多道程序的程度,即在任何时间点处于就绪状态的进程数。长期调度程序仔细选择 IO 和 CPU 绑定进程是很重要的。 IO 绑定任务将大部分时间用于输入和输出操作,而 CPU 绑定进程则将时间花在 CPU 上。作业调度程序通过在两者之间保持平衡来提高效率。
  2. 短期或 CPU 调度程序:
    它负责从就绪状态中选择一个进程,将其调度到运行状态。注意:短期调度程序只选择要调度的进程,它不会在运行时加载进程。这是使用所有调度算法的时间。 CPU 调度程序负责确保不会因高突发时间进程而出现饥饿。
    Dispatcher负责将 Short-term scheduler 选择的进程加载到 CPU 上(Ready to Running State)上下文切换仅由 Dispatcher 完成。调度员执行以下操作:
    1. 切换上下文。
    2. 切换到用户模式。
    3. 跳转到新加载程序中的正确位置。
  3. 中期调度程序:
    它负责暂停和恢复进程。它主要进行交换(将进程从主内存移动到磁盘,反之亦然)。交换可能是改进进程组合所必需的,或者因为内存需求的变化已经过度使用可用内存,需要释放内存。它有助于在 I/O 限制和 CPU 限制之间保持完美的平衡。它降低了多道程序的程度。

参考资料 – 操作系统概念 9ED