2.2.0 交互式系统调度算法

知识总览

2.2.0.1 时间片轮转

知识点 说明
英文名 RR,Round-Robin
算法思想 公平地、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应
算法规则 按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片。若进程未在一个时间片内执行完,则剥夺处理机,将进程重新放到就绪队列队尾重新排队
用于进程/作业调度 用于进程调度,只有作业放入内存建立了相应的进程后,才能被分配处理机时间片
是否可抢占? 若进程未能在时间片内运行完,将被强行剥夺处理机使用权,因此时间片轮转调度算法属于抢占式的算法。由时钟装置发出时钟中断来通知CPU时间片已到
优缺点 优点:公平;响应快,适用于分时操作系统 缺点:由于高频率的进程切换,因此有一定开销;不区分任务的紧急程度
是否会导致饥饿

例题:各进程到达就绪队列的时间、需要的运行时间如下表所示。使用时间片轮转调度算法,分析时间片大小分别是2、5时进程运行情况。

需要注意的是,如果时间片太大,使得每个进程都可以在一个时间片内就完成,那么时间片轮转调度算法就会退化为先来先服务调度算法,并且会增大进程响应时间,因此时间片不能太大。

另一方面,进程调度、切换是有时间代价的(保存、恢复允许环境),因此如果时间片太小,会导致进程切换过于频繁,系统会花大量的时间来处理进程切换,从而导致实际用于进程执行的时间比例减少,可见时间片也不能太小。

一般来说,设计时间片时要让切换进程的开销占比不超过1%。

2.2.0.2 优先级调度算法

知识点 说明
算法思想 随着计算机的发展,特别是实时操作系统的出现,越来越多的应用场景需要根据任务的紧急程度来决定处理顺序
算法规则 各个作业/进程有各自的优先级,调度时选择优先级最高的作业/进程
用于进程/作业调度 既可以用于作业调度,也可用于进程调度。甚至还会用于之后学习的I/O调度中
是否可抢占? 抢占式、非抢占式都有。做题时的区别在于;非抢占式只需在进程主动放弃处理机时进行调度即可,非抢占式还需在就绪队列变化时,检查是否会发生抢占
优缺点 优点:用优先级区分紧急程度、重要程度,适用于实时操作系统,可灵活地调整对各种作业/进程的偏好程度。 缺点:若源源不断地有高优先级进程到来,则可能导致饥饿。
是否会导致饥饿

2.2.0.3 多级反馈队列

让我们回顾一下前面学习的各种调度算法:FCFS算法的优点是公平;SJF算法的优点是能尽快处理完短作业,平均等待/周转时间等参数很优秀;而时间片轮转调度算法可以让各个进程得到及时的响应;优先级调度算法可以灵活地调整各种进程被服务的机会。

综上所述,我们能否对其他算法做一个折中权衡,得到一个综合表现优秀平衡的算法呢?根据这个想法,人们想出了多级反馈队列调度算法。

2.2.0.4 小结

王道操作系统考研笔记——2.2.0 交互式系统调度算法相关推荐

  1. 王道操作系统考研笔记——2.1.9 调度算法

    2.1.9 调度算法 知识总览 学习各种调度算法的思路 算法思想 算法规则 这种调度算法是用于作业调度还是进程调度? 抢占式或是非抢占式 优点和缺点 是否会导致饥饿(某进程/作业长期得不到服务) 2. ...

  2. 王道操作系统考研笔记——1.1.6 系统调用

    如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.6 系统调用 1.1.6.1 系统调用和作用 1.1.6.2 系统调用和库函数 1.1.6.3 系统调用背后的过 ...

  3. 王道操作系统考研笔记——2.1.8 调度算法的评价指标

    文章目录 2.1.8 调度算法的评价指标 2.1.8.1 CPU利用率 2.1.8.2 系统吞吐量 2.1.8.3 周转时间 2.1.8.4 等待时间 2.1.8.5 响应时间 2.1.8.6 小结 ...

  4. 王道操作系统考研笔记——1.1.1 操作系统的概念、功能和目标

    如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.1 操作系统的概念.功能和目标 1.1.1.1 操作系统的概念 1.1.1.2 作为系统资源的管理者 1.1.1 ...

  5. 王道操作系统考研笔记——2.3.4 信号量机制

    文章目录 2.3.4 信号量机制 2.3.4.1 引入 2.3.4.2 整型信号量 2.3.4.3 记录型信号量 2.3.4.4 小结 2.3.4 信号量机制 知识总览 在1965年,荷兰学着Dijk ...

  6. 王道操作系统考研笔记——2.1.6 处理机调度的概念和层次

    文章目录 2.1.6 处理机调度的概念和层次 2.1.6.1 调度的基本概念 2.1.6.2 高级调度 2.1.6.3 中级调度 2.1.6.4 进程的挂起态和七状态模型 2.1.6.5 低级调度 2 ...

  7. 王道操作系统考研笔记——2.3.3 进程互斥的硬件实现方法

    文章目录 2.3.3 进程互斥的硬件实现方法 2.3.3.1 中断屏蔽方法 2.3.3.2 TestAndSet指令 2.3.3.3 Swap指令 2.3.3.4 小结 2.3.3 进程互斥的硬件实现 ...

  8. 王道操作系统考研笔记——2.3.2 进程互斥的软件实现方法

    文章目录 2.3.2 进程互斥的软件实现方法 2.3.2.1 单标志法 2.3.2.2 双标志先检查法 2.3.2.3 双标志后检查法 2.3.2.4 Peterson算法 2.3.2.5 小结 2. ...

  9. 王道操作系统考研笔记——2.1.7 进程调度的时机、切换与过程、方式

    文章目录 2.1.7 进程调度的时机.切换与过程.方式 2.1.7.1 进程调度的时机 2.1.7.2 进程调度的方式 2.1.7.3 进程的切换和过程 2.1.7.4 小结 2.1.7 进程调度的时 ...

最新文章

  1. UVA 11990 ``Dynamic'' Inversion 动态逆序对
  2. 访谈计算机操作管理协会(Afcom)首席执行官Jill Eckhaus:数据中心问题出现在何处?...
  3. ArcGIS放射状流向地图
  4. Linux下的摄影后期处理软件
  5. Linux 支持显卡sli么,AMD Vega20专业卡将支持XGMI总线交火
  6. C语言 · 比较字符串
  7. 电脑边充电边用好吗_平板电脑充电推车厂家哪家好?
  8. Ubuntu主题更换
  9. 华为机试——求int型正整数在内存中存储时1的个数
  10. php 是面向对象编程,PHP面向对象编程快速入门
  11. 两台文件服务器共享文件同步,如何实现两台或多台电脑远程修改文件同步更新?...
  12. 毕业设计 基于单片机的智能蓝牙密码锁设计与实现
  13. 权重分析——CRITIC权重法
  14. mac修改锁定文件的解决方法
  15. 华氏温度与摄氏温度用C语言的实现方法
  16. Python操作MongoDb与Redis以及ODM
  17. SDUT-程序设计基础-实验1-顺序结构
  18. knife4j文档-个人笔记
  19. 我是如何揭穿“娱乐圈”大佬
  20. Loopback接口的主要作用

热门文章

  1. 20155229 实验一《Java开发环境的熟悉》实验报告
  2. 15个Java多线程面试题
  3. [算法]-排序算法之希尔排序
  4. kerberos 主从安装
  5. 中小企业如何提高售前,售中,售后客服质量?
  6. 小议H.264技术发展趋势
  7. 在FAANG面试中破解堆算法
  8. 清洁数据ploy n_清洁屋数据
  9. 修改innodb_flush_log_at_trx_commit参数提升insert性能
  10. Xftp远程连接出现“无法显示文件夹”的问题补充