王道操作系统考研笔记——2.2.0 交互式系统调度算法
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 交互式系统调度算法相关推荐
- 王道操作系统考研笔记——2.1.9 调度算法
2.1.9 调度算法 知识总览 学习各种调度算法的思路 算法思想 算法规则 这种调度算法是用于作业调度还是进程调度? 抢占式或是非抢占式 优点和缺点 是否会导致饥饿(某进程/作业长期得不到服务) 2. ...
- 王道操作系统考研笔记——1.1.6 系统调用
如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.6 系统调用 1.1.6.1 系统调用和作用 1.1.6.2 系统调用和库函数 1.1.6.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 小结 ...
- 王道操作系统考研笔记——1.1.1 操作系统的概念、功能和目标
如果这篇博客对您有用的话,可以给我点个赞吗,这对我很重要,谢谢!❤️ 文章目录 1.1.1 操作系统的概念.功能和目标 1.1.1.1 操作系统的概念 1.1.1.2 作为系统资源的管理者 1.1.1 ...
- 王道操作系统考研笔记——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 ...
- 王道操作系统考研笔记——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 ...
- 王道操作系统考研笔记——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 进程互斥的硬件实现 ...
- 王道操作系统考研笔记——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. ...
- 王道操作系统考研笔记——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 进程调度的时 ...
最新文章
- UVA 11990 ``Dynamic'' Inversion 动态逆序对
- 访谈计算机操作管理协会(Afcom)首席执行官Jill Eckhaus:数据中心问题出现在何处?...
- ArcGIS放射状流向地图
- Linux下的摄影后期处理软件
- Linux 支持显卡sli么,AMD Vega20专业卡将支持XGMI总线交火
- C语言 · 比较字符串
- 电脑边充电边用好吗_平板电脑充电推车厂家哪家好?
- Ubuntu主题更换
- 华为机试——求int型正整数在内存中存储时1的个数
- php 是面向对象编程,PHP面向对象编程快速入门
- 两台文件服务器共享文件同步,如何实现两台或多台电脑远程修改文件同步更新?...
- 毕业设计 基于单片机的智能蓝牙密码锁设计与实现
- 权重分析——CRITIC权重法
- mac修改锁定文件的解决方法
- 华氏温度与摄氏温度用C语言的实现方法
- Python操作MongoDb与Redis以及ODM
- SDUT-程序设计基础-实验1-顺序结构
- knife4j文档-个人笔记
- 我是如何揭穿“娱乐圈”大佬
- Loopback接口的主要作用