操作系统 —— 处理器调度

概念

处理器调度 —— 控制、协调进程对CPU的竞争。即按一定的调度算法从就绪队列中选择一个进程,把CPU的使用权交给被选中的进程。
如果没有就绪进程,系统会安排一个系统空闲进程或idle进程

调度时机

内核对中断/异常/系统调用处理后返回用户态时。

  1. 进程正常终止或由于某种错误终止
  2. 新进程创建或一个等待进程变就绪
  3. 当一个进程从运行态变阻塞态
  4. 当一个进程从运行态变就绪态

调度过程

进程切换

  • 切换全局页目录以加载一个新的地址空间
  • 切换内核栈和硬件上下文

上下文切换开销

  • 直接开销:保存和恢复寄存器、切换地址空间
  • 间接开销:高速缓存、缓冲区缓存、TLB失效

调度算法

用户角度和系统角度考虑的问题是不一样的,设计算法时要在各种因素中做一个权衡。

调度算法衡量指标

  • 吞吐量 Throughtout: 每单位时间完成的进程数目
  • 周转时间 TT(Turnaround Time):每个进程从提出请求到运行完成的时间
  • 响应时间 RT(Response Time):从提出请求到第一次回应的时间
  • CPU利用率(CPU Utilzation):CPU做有效工作时间的比例
  • 等待时间(Waiting Time):每个进程在就绪队列(ready queue)中等待的时间

设计调度算法时需要考虑的问题

  • 进程优先级
    • 静态优先级:创建时指定,运行过程中不再改变
    • 动态优先级:创建时指定,运行中也可以动态变化。如:等待较长的进程可提升优先级。
  • 就绪队列组织:如按优先级排队
  • 抢占与非抢占
    • 可抢占式Preempive(可剥夺式):可抢占优先级低进程的CPU
    • 非可抢占式:与上相反

posted on 2020-12-06 16:58  Lemo_wd  阅读(401)  评论(0编辑  收藏  举报

导航