跳转至

进程调度目标和调度方式

进程调度目标和方式概述

进程调度的目标和方式直接影响操作系统对资源的分配效率。主要目标包括公平性、高效率、平衡性、高吞吐量和策略强制执行,不同类型的操作系统对这些目标的侧重点有所不同。

进程调度目标

  1. 公平性:确保每个进程都能公平地获得 CPU 执行的机会,避免出现“饥饿”现象。要在保证优先权的基础上,实现进程执行的公平性。

  2. 高效率:尽可能让 CPU 保持“忙碌”状态,减少空闲等待时间,从而提高处理机的利用率。公式如下:

    \[ \text{CPU 的利用率} = \frac{\text{CPU 有效工作时间}}{\text{CPU 有效工作时间 + CPU 空闲等待时间}} \]
  3. 平衡性:系统中有不同类型的进程(如计算型和 I/O 型),调度算法应保证 CPU 和其他资源的负载平衡,以避免资源闲置。

  4. 高吞吐量:提高系统的处理能力,使每个进程的等待时间尽可能短,从而增加单位时间内完成的进程数量。

  5. 策略强制执行:严格执行预定的调度策略,包括安全策略,即使会引发某些工作延迟。

不同系统的调度目标

  • 多道批处理系统:重点在于高效利用系统资源,提升吞吐量并缩短平均周转时间。

  • 分时操作系统:更关注用户的公平性和及时响应性,通常采用时间片轮转调度算法,频繁的任务切换增加了系统开销。

  • 实时操作系统:保证实时进程及时响应,调度算法的特点是可抢占性,确保实时任务按时执行。

  • 通用操作系统:主要追求资源的使用公平性和均衡性,没有特殊的调度要求。

进程调度方式

  1. 非抢占方式

    • 在这种方式下,一旦进程获得 CPU 控制权,就可以一直运行到完成或被阻塞,才将处理机交给其他进程。
    • 优点:实现简单,系统开销小,适合批处理系统。
    • 缺点:无法应对实时任务需求,不能满足严格的响应时间要求。
  2. 抢占方式

    • 调度程序根据特定原则(如优先权、短进程优先、时间片轮转)可以中断正在运行的进程,将 CPU 分配给其他更需要的进程。
    • 抢占原则
      • 优先权原则:优先级高的进程可以中断低优先级进程。
      • 短进程优先原则:短进程可以抢占长进程的执行。
      • 时间片原则:每个进程按时间片轮流占用 CPU,时间片到则切换到下一个进程,适用于分时系统。

不同的调度方式适合不同场景,在实时系统中通常采用抢占方式,以确保关键任务按时完成;在批处理系统中则倾向于使用非抢占方式,降低系统开销。