Skip to content

2.7 调度的类型

Giovanna

About 506 wordsAbout 2 min

2024-08-31

如果有多个进程(线程)竞争CPU:

  • 需要选择下一个要运行的进程(线程)

  • OS中完成这部分工作的程序称为调度程序(scheduler)

  • 调度程序使用的算法称为调度算法(scheduling algorithm)

调度的目标:以满足系统目标(如响应时间、吞吐量、处理器效率)的方式,将进程分配到一个或多个处理器上执行。

一、调度的层次

image.png

二、长程调度

  • 长程调度(高级调度、作业调度)

    • 决定外存上处于后备队列中的哪个作业能够进入系统中被处理
    • 为它们创建进程、分配必要的资源
    • 将新创建的进程排在就绪队列(就绪/挂起)上,等待短程(中程)调度

长程调度需要考虑两个问题

何时创建一个新进程?

取决于多道程序的并发度,即允许同时在内存中运行的进程数。另外,若处理器的空闲时间超过了某个阈值,也可能会启动长程调度。

选择哪些作业来创建进程?

取决于长程调度算法。

三、中程调度

  • 中程调度(中级调度)

    • 对换功能的一部分,用以提高内存的利用率和系统的吞吐量
    • 内存紧张时,选择一个进程换出到外存(换出)
    • 内存充裕时,从外存选择一个挂起状态的进程调度到内存(换入)
    • 只有支持进程挂起的操作系统才具有中程调度功能

四、短程调度

  • 短程调度(进程调度、低级调度)

    • 决定就绪队列中的哪个进程应获得处理器
    • 运行频率最高
    • 现代操作系统几乎都具有短程调度功能
  • 引发短程调度的事件

    • 时钟中断
    • I/O中断
    • 操作系统调用
    • 信号(如信号量)