OS学习笔记-15(清华大学慕课)处理机调度

处理机调度

  • 区别:进程切换指cpu当前占用者切换,解决如何切换。处理机调度指在就绪队列中选择一个进行切换,解决切换哪一个的问题
  • 这里主要讨论的是低级调度:进程调度。实际上还有中级调度:内存调度。高级调度:作业调度。他们的调度频率依次下降。
  • 进程调度频率很高。一般几十毫秒一次。

调度时机

  • 分成两种:主动(执行完了,或者需要等待资源来了才能继续执行;变成等待或退出状态),被动(当前进程时间片用完,或有更高优先级的进程要执行;变成就绪状态)

在这里插入图片描述
进程调度策略

  • 注意区别页面置换算法(局部:FIFO,LRU,LFU,OPT,CLOCK)(全局:工作集置换算法,缺页率置换算法),和这里的进程调度策略:(FCFS,SJF,高响应比优先调度,时间片轮转调度,多级反馈队列调度)
  • 这里的进程调度策略除时间片轮转调度都是非抢占式的,也叫非剥夺调度方式,这种方式不能用于分时和实时系统

在这里插入图片描述
调度准则

  • 有以下五个方面
  • 周转时间=完成时间-作业到达时间(进程就是作业,作业就是进程)

在这里插入图片描述
调度准则中的高带宽和延迟

在这里插入图片描述
调度准则中的响应时间
在这里插入图片描述
具体的进程调度算法
在这里插入图片描述
先来先服务FCFS
在这里插入图片描述短进程优先SPN,也叫短作业优先

  • 具有最优周转时间的特点
  • 但可能使长进程一直无法执行
  • 可以改成抢占式短进程优先调度算法

在这里插入图片描述在这里插入图片描述
最高响应比HRRN
在这里插入图片描述
时间片轮转算法(主要用于分时系统)

  • 实现人机交互时用这个

在这里插入图片描述在这里插入图片描述
多级队列调度算法(融合了前面几种算法的优点)

  • 具有短作业优先
  • 周转时间较短
  • 不会有任务长期得不到执行

在这里插入图片描述

  • 优先级越高的队列中每个进程的运行时间片越小
  • 一个新进程进入内存后,首先将它放在第一级队列末,然后采用FCFS原则等待调度。如果第一级队列给它的时间得不到完成,则将其加入第二级队列,如此往复
  • 当且仅当第i层队列为空时,执行下一层队列

在这里插入图片描述
公平共享算法
在这里插入图片描述
算法比较
先来先服务

  • 简单,不公平,平均等待时间长

短进程优先

  • 不公平,平均等待时间最短,可能导致饥饿(长进程无法的到cpu资源),需要预测周转时间

最高响应比

  • 基于短进程优先改进的,克服了短作业,同时兼顾了长作业(响应比会随着时间的增加而提高),解决了饥饿问题

时间片轮转

  • 公平的,平均等待时间性能会比较差

多级反馈队列

  • 多种算法的集合(现在操作系统使用的方法)

公平共享

  • 公平是第一的指标

优先级反置
在这里插入图片描述
解决办法

  • 优先级继承(占用资源的低优先级进程继承申请资源的高优先级进程的优先级)
  • 优先级天花板协议(占用资源的低优先级进程继承申请资源的最高优先级进程的优先级)
发布了43 篇原创文章 · 获赞 3 · 访问量 3370

猜你喜欢

转载自blog.csdn.net/a1920993165/article/details/99848214