操作系统中的进程调度:长期、中期、短期调度程序
什么是进程调度?
工艺调度 是一个操作系统任务,用于调度不同状态(如就绪、等待和运行)的进程。
进程调度允许操作系统为每个进程分配一个 CPU 执行时间间隔。使用进程调度系统的另一个重要原因是它使 CPU 始终保持忙碌状态。这可让您获得程序的最短响应时间。
进程调度队列
进程调度队列可帮助您为每个进程状态和 PCB 维护一个不同的队列。所有具有相同执行状态的进程都放在同一个队列中。因此,每当修改进程的状态时,都需要将其 PCB 从现有队列中取消链接,并将其移回新的状态队列。
操作系统队列有三种类型:
- 作业队列 – 它可以帮助您存储系统中的所有进程。
- 就绪队列 – 这种类型的队列可帮助您设置驻留在主内存中的每个进程,这些进程已准备好并等待执行。
- 设备队列 – 由于缺少 I/O 设备而被阻塞的进程。
在上图中,
- 矩形代表一个队列。
- 圆圈表示资源
- 箭头表示流程的流动。
- 每个新进程首先放入就绪队列。它在就绪队列中等待,直到最终被处理执行。在这里,新进程被放入就绪队列并等待,直到被选中执行或被调度。
- 其中一个进程被分配了 CPU,并且正在执行
- 该进程应该发出 I/O 请求
- 然后,应该将其放入 I/O 队列中。
- 该流程应该创建一个新的子流程
- 该过程应该正在等待其终止。
- 应该强制将其从 CPU 中移除,作为中断结果。一旦中断完成,应该将其送回就绪队列。
双状态过程模型
双状态过程模型包括:
- 运行状态
- 非运行状态
运行
在 Opera听系统,每当一个新的进程被建立,它就进入到系统中,并且应该处于运行状态。
未运行
未运行的进程被保存在队列中,等待轮到它们执行。队列中的每个条目都指向一个特定的进程。
调度目标
以下是进程调度的重要目标
- 在可接受的响应时间内最大化交互用户的数量。
- 实现响应和利用之间的平衡。
- 避免无限期推迟并强制执行优先事项。
- 它还应该参考掌握关键资源的流程。
进程调度程序的类型
调度程序是一种系统软件,允许您处理进程调度。
进程调度器主要有三种类型:
- 长期调度程序
- 短期调度程序
- 中期调度程序
长期调度程序
长期调度程序也称为 作业调度器。该调度程序负责管理程序并从队列中选择进程,并将其加载到内存中执行。它还负责管理多道程序的程度。
然而,这种类型的调度程序的主要目标是提供均衡的作业组合,如处理器、I/O 作业,以允许管理多道程序。
中期调度程序
中期调度是 交换。它使您能够处理换出的进程。在此调度程序中,正在运行的进程可能会被暂停,从而发出 I/O 请求。
如果正在运行的进程发出 I/O 请求,则可能会被暂停。暂停的进程无法完成任何任务。为了从内存中删除进程并为其他进程腾出空间,应将暂停的进程移至辅助存储。
短期调度程序
短期调度也称为 CPU 调度程序。此调度程序的主要目标是根据设定的标准提高系统性能。这可以帮助您从一组准备执行的进程中进行选择,并将 CPU 分配给其中一个进程。调度程序将 CPU 控制权交给短期调度程序选择的进程。
调度程序之间的差异
长期、短期和中期
长期 | 短期的 | 中期 |
---|---|---|
长期也称为作业调度程序 | 短期也称为 CPU 调度程序 | 中期也称为交换调度程序。 |
在分时系统中,它要么不存在,要么很少。 | 在分时顺序中它是不重要的。 | 该调度程序是分时系统的一个元素。 |
与短期调度程序相比,速度较慢。 | 速度相对于短期和中期调度程序来说是最快的。 | 它提供中等速度。 |
允许您从负载中选择进程并将其放回到内存中 | 它仅选择处于执行就绪状态的进程。 | 它可以帮助您将进程发送回内存。 |
提供完全控制 | 控制力较弱 | 降低多道程序设计水平。 |
什么是上下文切换?
这是一种在 PCB 中存储/恢复 CPU 状态的方法。这样以后就可以从同一点恢复进程执行。上下文切换方法对于多任务操作系统很重要。
总结
- 进程调度是一项操作系统任务,用于调度处于就绪、等待和运行等不同状态的进程。
- 双状态进程模型包括 1)正在运行,和 )未运行
- 进程调度在可接受的响应时间内最大化交互用户的数量。
- 调度程序是一种系统软件,允许您处理进程调度。
- 调度程序有三种类型:1)长期 2)短期 3)中期
- 长期调度程序调节程序并从队列中选择进程并将其加载到内存中执行。
- 中期调度程序使您能够处理换出的进程。
- 短期调度程序的主要目标是根据设定的标准提高系统性能
- 长期也称为作业调度程序,而短期也称为 CPU 调度程序,中期又称为交换调度程序。