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

什么是进程调度?
工艺调度 是操作系统的一项任务,用于调度处于就绪、等待和运行等不同状态的进程。
进程调度允许操作系统为每个进程分配一段固定的 CPU 执行时间。使用进程调度系统的另一个重要原因是它可以确保 CPU 始终处于忙碌状态,从而最大限度地缩短程序的响应时间。
进程调度队列
进程调度队列可以帮助您为每个进程状态和进程控制块 (PCB) 维护一个独立的队列。所有处于相同执行状态的进程都会被放入同一个队列中。因此,每当进程的状态发生改变时,其 PCB 都需要从现有队列中解除关联,并移回新的状态队列。
操作系统队列有三种类型:
- 作业队列 – 它可以帮助您存储系统中的所有进程。
- 就绪队列 – 这种类型的队列可帮助您设置驻留在主内存中的每个进程,这些进程已准备好并等待执行。
- 设备队列 – 由于缺少 I/O 设备而被阻塞的进程。

在上图中:
- 矩形代表队列。
- 圆圈表示资源。
- 箭头指示流程方向。
- 每个新进程首先都会被放入就绪队列。它会在就绪队列中等待,直到最终被处理执行。在此过程中,新进程会被放入就绪队列,并等待被选中执行或被分派。
- 其中一个进程被分配了 CPU 并正在执行。
- 该进程应发出 I/O 请求。
- 然后,应该将其放入 I/O 队列中。
- 该过程应创建一个新的子过程。
- 该过程应该正在等待其终止。
- 由于中断,该进程应被强制从 CPU 中移除。中断完成后,该进程应被送回就绪队列。
双状态过程模型
双状态过程模型包括:
- 运行状态
- 非运行状态
运行
在 Opera听系统,每当一个新的进程被建立,它就进入到系统中,并且应该处于运行状态。
未运行
未运行的进程会被放入一个队列中,等待轮到它们执行。队列中的每个条目都指向一个特定的进程。
调度目标
以下是流程调度的重要目标:
- 在可接受的响应时间内最大化交互用户的数量。
- 实现响应和利用之间的平衡。
- 避免无限期推迟并强制执行优先事项。
- 它还应该参考掌握关键资源的流程。
进程调度程序的类型
调度程序是一种系统软件,允许您处理进程调度。
进程调度器主要有三种类型:
- 长期调度程序
- 短期调度程序
- 中期调度程序
长期调度程序
长期调度器也称为 作业调度器该调度器负责管理程序,从队列中选择进程并将它们加载到内存中执行。它还负责调节多道程序设计的程度。
然而,这类调度器的主要目标是提供均衡的作业组合,例如处理器作业和 I/O 作业,从而实现多道程序设计。
中期调度程序
中期调度是 交换ping它允许您处理被换出的进程。在这个调度器中,正在运行的进程可能会被挂起,从而发出 I/O 请求。
正在运行的进程如果发出 I/O 请求,则可能会被挂起。挂起的进程无法继续执行任何操作。为了将该进程从内存中移除并为其他进程腾出空间,应将其移动到辅助存储器。
短期调度程序
短期排班也称为 CPU 调度程序该调度器的主要目标是根据设定的标准提升系统性能。它能从一组准备执行的进程中选择一个,并将 CPU 分配给其中一个进程。调度器会将 CPU 控制权交给短期调度器选择的进程。
调度程序之间的差异
长期、短期和中期:
| 长期 | 短期的 | 中期 |
|---|---|---|
| 长期运行也称为作业调度程序。 | 短期调度器也称为 CPU 调度器。 | 中期交易也称为互换交易。ping 调度程序。 |
| 在分时系统中,它要么不存在,要么很少。 | 在分时顺序中它是不重要的。 | 该调度程序是分时系统的一个元素。 |
| 与短期调度程序相比,速度较慢。 | 速度相对于短期和中期调度程序来说是最快的。 | 它提供中等速度。 |
| 允许您从加载和池中选择进程,并将其放回内存中。 | 它只选择处于就绪执行状态的进程。 | 它可以帮助你将进程送回内存。 |
| 提供完全控制权。 | 控制功能较少。 | 降低了多程序设计水平。 |
什么是上下文切换?
这是一种将CPU状态存储/恢复到PCB上的方法,以便稍后可以从同一位置恢复进程执行。上下文切换方法对于多任务操作系统至关重要。
