基础概念

相关提炼内容见 scheduling

调度的概念

调度的基本概念

处理机调度是对处理机进行分配,即从就绪队列按照一定的算法(公平、高效)选择一个进程并将处理机分配给他运行,以实现进程并发地执行

调度层次

作业调度/高级调度

  • 内存与辅存之间的调度
  • 多道批处理系统大多配有作业调度,而其他系统中通常不需要配置作业调度

中继调度/内存调度

  • 作用:提高内存利用率和系统吞吐量
  • 为此将哪些暂时不能运行的进程调至外存等待,把此时的进程状态称为** 挂起态** ,当它们已具备运行条件且内存稍有空闲时,则重新调入内存,并修改其状态为就绪态,挂在就绪队列上等待

进程调度/低级调度

  • 是操作系统中最基本的一种调度,进程调度的频率很高,一般十几毫秒一次

三级调度的联系

  • 作业调度为进程活动做准备,进程调度使进程正常活动起来,中级调度将暂时不能运行的进程挂起,中级调度处于作业调度和进程调度之间
  • 作业调度次数少,中级调度次数略多,进程调度频率最高
  • 进程调度是最基本的,不可或缺

调度的时机、切换与过程

  • 不能进行进程的调度与切换的情况
    • 在处理中断的过程中
    • 进程在操作系统内核程序临界区中
    • 其他需要完全屏蔽中断的原子操作过程中。如加锁、解锁、中断保护现场、恢复等原子操作
  • 应该进行进程调度与切换的情况
    • 发生引起调度条件且当前进程无法继续运行下去时,可以马上进行调度与切换
    • 中断处理结束或自陷处理解除后,返回被中断进程的用户态程序执行现场前,若置上请求调度标志,即可马上进行进程调度与切换

进程调度方式

  • 非剥夺调度方式,又称非抢占方式
  • 剥夺调度方式

调度的基本准则

  • CPU 利用率
  • 系统吞吐量
  • 周转时间
    • 周转时间 = 作业完成时间 - 作业提交时间
    • 平均周转时间 = (作业 1 周转时间 + … + 作业 n 周转时间)/ n
    • 带权周转时间 = 作业周转时间 / 作业实际运行时间
    • 平均带权周转时间 = (作业 1 带权周转时间 + … + 作业 n 带权周转时间)/ n
  • 等待时间
  • 响应时间

典型的调度算法

cpu-scheduling