操作系统——处理机调度

处理机调度

背景

处理机调度,又可以叫做进程调度。

CPU是计算机中最重要的资源,如何提高CPU的利用率及改善系统性能,很大程度上取决于进程调度性能的好坏。

CPU调度

CPU调度即从就绪队列中挑选一个进程 / 线程作为CPU将要执行的下一个进程 / 线程。

CPU调度一定会涉及到进程切换问题,此问题可以看之前的博客,此处不做多于介绍。

以下三点是进程调度要解决的问题:

  1. 按什么原则分配CPU:即要采用什么算法进行调度
  2. 何时分配CPU:即进程调度的时机
  3. 如何分配CPU:即CPU的调度过程

进程调度方式

非抢占方式

非抢占方式是指当一个进程获取CPU后,除非它主动放弃CPU的使用权,否则其他进程不能获取CPU的使用权。

这种调度方式主要用在批处理系统中,优点是简单、系统开销小。

抢占方式

抢占方式是说,系统有可能基于某种策略剥夺当前正在执行的进程的CPU使用权。剥夺原则:优先权原则、短进程优先原则和时间片原则。

此种调度方式多用在分时系统和实时系统中,以便响应各进程的请求。

CPU调度过程

  1. 保存运行现场:顺序保存,最后一步保存PSW。
  2. 选择要运行的进程
  3. 若没有就绪进程,系统会安排一个空闲进程(idle),若没有其他进程时该进程一直运行,在执行过程中可以接收中断
  4. 恢复现场:最后一步恢复选中进程的PSW

CPU调度时机

进程调度的时机与进程调度的方式有关。当正在运行的进程的CPU被回收时,就会触发进程调度。一般有如下情况:

  1. 正在执行的进程执行完成。(正常执行完成终止或者由于某种错误而导致异常终止)。即一个进程由执行态->终止态时。
  2. 执行中的进程提出I/O请求时。即一个进程由执行态->等待态时。
  3. 在分时系统中,当分配给进程的时间片用完时。即进程从执行态->就绪态时。
  4. 当调度方式为抢占式调度时,有比当前执行的进程更高级的进程变为就绪态时。
  5. 在进程通信中,执行中的进程执行了某种原语操作,如wait操作、阻塞原语和唤醒原语时,都可能引起进程调度。

调度准则

调度算法的性能可以从不同的角度来判断,实际的调度算法选择是一个综合的判断结果。

实际系统中,调度算法往往这种考虑,大多数OS都采用较简单的调度算法。

面向系统的调度性能准则

  1. 吞吐量:单位时间内完成的作业数,跟作业本身特性和调度算法都有关系。一般用于批处理系统的判断准则
  2. 处理机利用率:一般用于大中型主机的判断准则
  3. 各种设备的均衡利用:如I/O密集型的作业和CPU密集型的作业搭配。一般用于大中型主机的判断准则。

面向用户的性能调度准则

  1. 周转时间:作业从提交到执行结束所经历的时间——批处理系统
    • 带权周转时间:周转时间 / 实际运行时间
  2. 响应时间:用户输入一个请求到系统给出首次响应的时间——分时系统
  3. 截止时间:开始截至时间和完成截止时间——试试系统,与周转时间类似
  4. 公平性:不因作业或进程本身的特性而使上述指标过分恶化。如长作业等待很长时间或者低优先级进程等待很长时间
  5. 优先级:可以是关键任务达到更好的指标

调度算法本身的调度性能准则

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值