2.2 处理机调度(1)

2.2.1 调度

一. 概念

从就绪队列中按照一定的算法选择一个进程,并给他分配处理机,从而实现进程的并发执行。

二. 调度的三个层次

一个作业的提交开始直到完成需要经历三种调度。

  1. 高级调度(作业调度):按照一定原则,从外存中挑选作业,给他们分配内存等资源,并建立相应进程。
  2. 中级调度(内存调度):将暂时不能运行的进程调至外存等待,即挂起态(稍后讲解),此时进程在外存,但是该进程的PCB在内存。
    作用:提高内存利用率和系统吞吐量。
  3. 低级调度(进程调度):按照某种方法从就绪队列中选取一个进程,将CPU分配给它。进程调度是操作系统最基本的一种调度
三. 三级调度的区别与联系
调度 干什么 位置 频率 状态
高级调度 选择合适作业调入内存,创建进程 外存 – 内存 最低 无 – 创建态 – 就绪态
高级调度 按某种规则,将进程调回内存 外存 – 内存 中等 挂起态 – 就绪态
高级调度 按照某种规则为进程分配CPU 内存 – CPU 最高 就绪态 – 运行态
四. 七状态模型
  • 之前我们学了五状态,分别是:创建态,终止态,阻塞态,运行态和就绪态。
  • 但是在自主命题的研究生考试中,还有挂起态,它分为就绪挂起和阻塞挂起。
  • 若系统负载高,则会进入挂起状态,挂起则表示进程放到了外存。
    2.2 处理机调度(1)
五. 进程的调度与切换
  1. 应该进行进程的调度和切换:
    (1)主动放弃
    (2)被动放弃(中断或者陷入时)
  2. 不应进程调度与切换
    (1)在处理中断时
    (2)进程在操作系统内核程序临界区时
    (3)进行原子操作时

切换过程要求保留原进程当前切换点的现场信息,恢复被调度进程的现场信息。
进程调度的切换都是有代价的,经常切换不好。

六. 进程的调度方式(两种)
  1. 非抢占式方式
    实现简单,系统开销小,但是无法执行紧急进程。
  2. 抢占式方式
    提高系统吞吐量和响应效率。

我们下一节讲,调度的评价指标 和 经典调度算法