操作系统中的进程调度:长期、中期、短期调度程序

⚡ 智能摘要

进程调度是操作系统的一项任务,它管理进程在就绪、等待和运行状态之间的转换。它使用长期、中期和短期调度器为每个进程分配 CPU 时间,保持 CPU 的繁忙状态,并减少响应时间。

  • 🗓️ 定义: 进程调度管理处于就绪、等待和运行状态的进程,以保持 CPU 的繁忙状态。
  • 📥 队列: 作业队列、就绪队列和设备队列按执行状态组织进程。
  • 🔀 两状态模型: 最简单的情况是,一个进程要么正在运行,要么没有运行。
  • ‍💼 三位调度员: 长期、中期和短期调度器控制哪些进程运行以及何时运行。
  • 短期: CPU调度器速度最快,它会选择一个就绪的进程立即执行。
  • 🔁 上下文切换: 在PCB中保存和恢复CPU状态可以实现多任务处理。

操作系统中的进程调度

什么是进程调度?

工艺调度 是操作系统的一项任务,用于调度处于就绪、等待和运行等不同状态的进程。

进程调度允许操作系统为每个进程分配一段固定的 CPU 执行时间。使用进程调度系统的另一个重要原因是它可以确保 CPU 始终处于忙碌状态,从而最大限度地缩短程序的响应时间。

进程调度队列

进程调度队列可以帮助您为每个进程状态和进程控制块 (PCB) 维护一个独立的队列。所有处于相同执行状态的进程都会被放入同一个队列中。因此,每当进程的状态发生改变时,其 PCB 都需要从现有队列中解除关联,并移回新的状态队列。

操作系统队列有三种类型:

  1. 作业队列 – 它可以帮助您存储系统中的所有进程。
  2. 就绪队列 – 这种类型的队列可帮助您设置驻留在主内存中的每个进程,这些进程已准备好并等待执行。
  3. 设备队列 – 由于缺少 I/O 设备而被阻塞的进程。
进程调度队列
进程调度队列

在上图中:

  • 矩形代表队列。
  • 圆圈表示资源。
  • 箭头指示流程方向。
  1. 每个新进程首先都会被放入就绪队列。它会在就绪队列中等待,直到最终被处理执行。在此过程中,新进程会被放入就绪队列,并等待被选中执行或被分派。
  2. 其中一个进程被分配了 CPU 并正在执行。
  3. 该进程应发出 I/O 请求。
  4. 然后,应该将其放入 I/O 队列中。
  5. 该过程应创建一个新的子过程。
  6. 该过程应该正在等待其终止。
  7. 由于中断,该进程应被强制从 CPU 中移除。中断完成后,该进程应被送回就绪队列。

双状态过程模型

双状态过程模型包括:

  • 运行状态
  • 非运行状态

运行

Opera听系统,每当一个新的进程被建立,它就进入到系统中,并且应该处于运行状态。

未运行

未运行的进程会被放入一个队列中,等待轮到它们执行。队列中的每个条目都指向一个特定的进程。

调度目标

以下是流程调度的重要目标:

  • 在可接受的响应时间内最大化交互用户的数量。
  • 实现响应和利用之间的平衡。
  • 避免无限期推迟并强制执行优先事项。
  • 它还应该参考掌握关键资源的流程。

进程调度程序的类型

调度程序是一种系统软件,允许您处理进程调度。

进程调度器主要有三种类型:

  1. 长期调度程序
  2. 短期调度程序
  3. 中期调度程序

长期调度程序

长期调度器也称为 作业调度器该调度器负责管理程序,从队列中选择进程并将它们加载到内存中执行。它还负责调节多道程序设计的程度。

然而,这类调度器的主要目标是提供均衡的作业组合,例如处理器作业和 I/O 作业,从而实现多道程序设计。

中期调度程序

中期调度是 交换ping它允许您处理被换出的进程。在这个调度器中,正在运行的进程可能会被挂起,从而发出 I/O 请求。

正在运行的进程如果发出 I/O 请求,则可能会被挂起。挂起的进程无法继续执行任何操作。为了将该进程从内存中移除并为其他进程腾出空间,应将其移动到辅助存储器。

短期调度程序

短期排班也称为 CPU 调度程序该调度器的主要目标是根据设定的标准提升系统性能。它能从一组准备执行的进程中选择一个,并将 CPU 分配给其中一个进程。调度器会将 CPU 控制权交给短期调度器选择的进程。

调度程序之间的差异

长期、短期和中期:

长期 短期的 中期
长期运行也称为作业调度程序。 短期调度器也称为 CPU 调度器。 中期交易也称为互换交易。ping 调度程序。
在分时系统中,它要么不存在,要么很少。 在分时顺序中它是不重要的。 该调度程序是分时系统的一个元素。
与短期调度程序相比,速度较慢。 速度相对于短期和中期调度程序来说是最快的。 它提供中等速度。
允许您从加载和池中选择进程,并将其放回内存中。 它只选择处于就绪执行状态的进程。 它可以帮助你将进程送回内存。
提供完全控制权。 控制功能较少。 降低了多程序设计水平。

什么是上下文切换?

这是一种将CPU状态存储/恢复到PCB上的方法,以便稍后可以从同一位置恢复进程执行。上下文切换方法对于多任务操作系统至关重要。

常见问题

调度器根据策略决定下一个应该运行的进程。分发器是实际将 CPU 控制权交给选定进程的模块,负责执行上下文切换和跳转操作。ping 放到程序中的正确位置。

多道程序设计的程度是指同时驻留在主内存中的进程数量。长期调度器通过决定允许多少进程运行来控制多道程序设计的程度,从而平衡 CPU 和 I/O 的使用,以实现高效的系统性能。

进程控制块(PCB)是操作系统用来存储进程所有信息的数据结构,例如进程状态、程序计数器、寄存器和内存限制。它对于在上下文切换期间保存和恢复进程至关重要。

人工智能可以学习工作负载模式,从而决定运行哪个进程以及如何分配 CPU 时间。它不采用固定规则,而是实时调整调度,从而提高吞吐量、响应时间和能源效率,尤其是在云和多核系统中。

是的。通过分析过去的 CPU 峰值和 I/O 模式,AI 模型可以预测进程的运行时间以及它是受 CPU 限制还是受 I/O 限制。这些预测有助于调度器确定进程的优先级并减少等待时间。

总结一下这篇文章: