进程调度目标和调度方式
进程调度目标和方式概述
进程调度的目标和方式直接影响操作系统对资源的分配效率。主要目标包括公平性、高效率、平衡性、高吞吐量和策略强制执行,不同类型的操作系统对这些目标的侧重点有所不同。
进程调度目标
-
公平性:确保每个进程都能公平地获得 CPU 执行的机会,避免出现“饥饿”现象。要在保证优先权的基础上,实现进程执行的公平性。
-
高效率:尽可能让 CPU 保持“忙碌”状态,减少空闲等待时间,从而提高处理机的利用率。公式如下:
\[ \text{CPU 的利用率} = \frac{\text{CPU 有效工作时间}}{\text{CPU 有效工作时间 + CPU 空闲等待时间}} \] -
平衡性:系统中有不同类型的进程(如计算型和 I/O 型),调度算法应保证 CPU 和其他资源的负载平衡,以避免资源闲置。
-
高吞吐量:提高系统的处理能力,使每个进程的等待时间尽可能短,从而增加单位时间内完成的进程数量。
-
策略强制执行:严格执行预定的调度策略,包括安全策略,即使会引发某些工作延迟。
不同系统的调度目标
-
多道批处理系统:重点在于高效利用系统资源,提升吞吐量并缩短平均周转时间。
-
分时操作系统:更关注用户的公平性和及时响应性,通常采用时间片轮转调度算法,频繁的任务切换增加了系统开销。
-
实时操作系统:保证实时进程及时响应,调度算法的特点是可抢占性,确保实时任务按时执行。
-
通用操作系统:主要追求资源的使用公平性和均衡性,没有特殊的调度要求。
进程调度方式
-
非抢占方式:
- 在这种方式下,一旦进程获得 CPU 控制权,就可以一直运行到完成或被阻塞,才将处理机交给其他进程。
- 优点:实现简单,系统开销小,适合批处理系统。
- 缺点:无法应对实时任务需求,不能满足严格的响应时间要求。
-
抢占方式:
- 调度程序根据特定原则(如优先权、短进程优先、时间片轮转)可以中断正在运行的进程,将 CPU 分配给其他更需要的进程。
- 抢占原则:
- 优先权原则:优先级高的进程可以中断低优先级进程。
- 短进程优先原则:短进程可以抢占长进程的执行。
- 时间片原则:每个进程按时间片轮流占用 CPU,时间片到则切换到下一个进程,适用于分时系统。
不同的调度方式适合不同场景,在实时系统中通常采用抢占方式,以确保关键任务按时完成;在批处理系统中则倾向于使用非抢占方式,降低系统开销。