【操作系统】处理机调度的层次和调度算法的目标

来源:互联网 发布:粒子群算法工具箱 编辑:程序博客网 时间:2024/06/08 19:38

在多道程序环境下,进程数目往往多于处理机数目,致使它们竞争使用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之执行。分配处理机的任务是由进程调度程序完成的。它是操作系统设计的中心问题之一。

处理机调度

  • 调度的层次
  • 调度队列模型
  • 选择调度方式和算法的若干准则

处理机调度的层次

一个作业从提交开始,往往要经历三级调度:高级调度、中级调度、低级调度。

高级调度(长程/作业/宏观调度)

  • 从外存后备队列中选择作业进入内存就绪队列。
  • 在批处理系统中,大多配有作业调度。
  • 作业调度执行频率较低,时间尺度是分钟、小时或天。

中级调度(交换调度)

  • 在内存和外存对换区之间按照给定的策略选择进程对换。
  • 解决内存紧张问题,提高内存的利用率和系统吞吐量。

低级调度(短程/CPU/进程/微观调度)

  • 任务是从就绪队列中选择一个进程来执行并由分派程序(Dispatcher)分配处理机。
  • 是 OS 中最基本的调度。
  • 时间尺度通常是毫秒级的,由于低级调度算法的频繁使用,要求在实现时做到高效。
  • 常采用非抢占(非剥夺)方式和抢占(剥夺)方式两种。

图解

处理机调度算法的目标

处理机调度算法的共同目标

  • 资源利用率 
    图解
  • 公平性
  • 平衡性(CPU 型进程和 I/O 型进程)
  • 策略强制执行(抢占)

批处理系统的目标

  • 平均周转时间短 
    1.周转时间:作业从提交 → 完成的时间 
    2.周转时间组成: 
    驻外等待调度时间 
    驻内等待调度时间 
    执行时间 
    阻塞时间 
    3.周转时间不具有区分实际运行时间长短的性质。
  • 系统吞吐量高
  • 处理机利用率高

周转时间= 结束时间 -到达时间

平均周转时间 T

图解

平均周转时间可以衡量不同调度算法对相同作业流的调度性能。

带权周转时间:周转时间除以系统服务时间 T s (占CPU 时间)

图解

带权周转时间越小越好。

分时系统的目标

  • 响应时间快(对交互性作业) 
    1.键盘提交请求到首次反馈结果的时间 
    2.时间组成: 
    输入传送时间 
    处理时间 
    响应传送时间
  • 均衡性

实时系统的目标

  • 截至时间的保证
  • 可预测性
原创粉丝点击