【操作系统】-- 时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法
一、时间片轮转调度算法
1、算法思想
公平地、轮流地为各个进程服务,让每个进程在一定时间间隔内都可以得到响应。
2、算法规则
按照各进程到达就绪队列的顺序,轮流让各个进程执行一个时间片,若进程未在一个时间片内执行完,则会剥夺处理机,将进程重新放到就绪队列队尾重新排队。
3、用于作业/进程调度
用于进程调度
4、是否可抢占
抢占式算法
5、是否会导致饥饿
不会
6、优缺点
优点:公平,响应快,适用于分时操作系统。
缺点:由于高频率的进程切换,因此有一定的开销,不区分任务的紧急程度。
7、例题
例:各进程到达就绪队列的时间、需要运行时间如下表,使用时间片轮转调度算法,分析时间片大小是2时的进程运行情况。
进程 到达时间 运行时间 P1 0 5 P2 2 4 P3 4 1 P4 5 6 答:
0时刻(P1运行):只有P1到达就绪对列,让P1运行一个时间片2.。
2时刻(P2运行):P2到达就绪对列,P1被剥夺CPU,放到队尾,P2运行。
4时刻(P1运行):P3到达,先插到就绪队列队尾,紧接着,P2也插到队尾。
5时刻(P1运行):P4到达,插到就绪队尾。
6时刻(P3运行):P1时间片用完,重新回到就绪队尾。
7时刻(P2运行):P3主动放弃CPU。
9时刻(P4运行):P2时间片用完,并刚好运行完。
11时刻(P1运行):P4时间片用完,回到就绪队尾。
12时刻(P4运行):P1运行完,主动放弃CPU,就绪队列只剩P4。
二、优先级调度算法
1、算法思想
根据任务的紧急程度来决定处理顺序。
2、算法规则
每个 作业/进程 有各自的优先级,调度时选择优先级最高的 作业/进程。
3、用于作业/进程调度
可用于作业调度,也可用于进程调度,还可以用于I/O调度。
4、是否可抢占
抢占式、非抢占式都有。
5、是否会导致饥饿
会
6、优缺点
优点:用优先级区分紧急程度、重要程度,适用于实时操作系统,可灵活调整对各作业/进程的偏好程度。
缺点:若源源不断的高优先级到来,会导致饥饿。
7、例题
例:各进程到达就绪队列的时间、需要运行时间、进程优先级如下表。使用非抢占式的优先级调度算法,分析进程运行情况。
进程 到达时间 运行时间 优先级 P1 0 7 1 P2 2 4 2 P3 4 1 3 P4 5 4 2 非抢占式
答:
0时刻(P1运行):只有P1到达。
7时刻(P3运行):P1运行完主动放弃处理机,其余进程都已到达,P3优先级最高。
8时刻(P2运行):P3完成,P2、P4优先级相同,由于P2先到达,P2优先。
12时刻(P4):P2完成,只剩P4。
16时刻:所有进程结束。
抢占式
答:
0时刻(P1运行):P1到达。
2时刻(P2运行):P2到达,优先级更高。
4时刻(P3运行):P3到达,优先级更高。
5时刻(P2运行):P3完成,主动释放,P4到达,由于P2更先进入就绪队列,P2上。
7时刻(P4运行):只剩P1、P4,P4优先级高。
11时刻(P1运行):P4完成,P1上。
注意:优先级未必只有一个,可以按照不同优先级来组织队列,高优先级在队头。
如何合理设置各进程优先级:
系统进程优先级高于用户进程
前台进程优先级高于后台进程
操作系统更偏好I/O型进程
三、多级反馈队列调度算法
1、算法思想
对其他调度算法的折中权衡。
2、算法规则
①设置多级就绪队列,各级队列优先级从高到低,时间片从小到大。
②新进程到达时先进入第1级队列,按FCFS原则排队等待被分配时间片,若用完时间片进程未结束,则进程进入下一级队列队尾。如果此时已经是在最下级队列,则重新放回该队列队尾。
③只有第K级队列为空时,才会为k+1级队头的进程分配时间片。
3、用于作业/进程调度
进程调度
4、是否可抢占
抢占式
5、是否会导致饥饿
会
6、优缺点
对各进程公平,每个新到达的进程都可以很快得到响应,短进程只需较少的时间就可完成,不必实现估计进程的运行时间,可灵活调整对各进程的偏好程度。
7、例题
例:各进程到达就绪队列的时间、需要的运行时间如下表,使用多级反馈队列调度算法,分析各进程运行的过程。
进程 到达时间 运行时间 P1 0 8 P2 1 4 P3 5 1 答:
P1先到达,到第1级队列,使用1个时间片,然后进入下一个队列队尾。
P2到达,先到第1级队列,使用1个时间片,进入到下一队列队尾。
P1,在第2级队列,使用2个时间片,然后进入下一个队列队尾。
P2,在第2级队列,使用1个时间片后,P3到达第1级队列,P2被抢占,P2重新回到第2级队列队尾。
P3,在第1级队列,使用1个时间片,结束。
P2,在第2级队列,使用1个时间片,结束。
P1,在第3级队列,使用4个时间片,然后重新回到第3级队列队尾,重新调度。
上面三种调度算法适用于交互式系统。
【操作系统】-- 时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法相关推荐
- 进程调度算法-时间片轮转、最高优先级和多级反馈队列调度算法
文章目录 前言 一.时间片轮转 二.最高优先级 三.多级反馈队列 总结 前言 从上一篇文章中已经介绍了几种常见的单核CPU进程调度算法,本篇文章顺着上一篇文章的节奏,继续讲解几种剩余常见的进程调度算法 ...
- c语言模拟多级反馈队列调度算法实验报告,多级反馈队列调度算法的实现-20210323055826.docx-原创力文档...
This model paper was revised by LINDA on December 15, 2012. This model paper was revised by LINDA on ...
- 【学习笔记】第二章——时间片轮转RR、优先级调度、多级反馈队列调度算法
文章目录 一. 时间片轮转 二. 优先级调度 三. 多级反馈队列调度算法 四. 总结 一. 时间片轮转 公平,轮流给进程提供时间片 只用于进程调度(只有进程才能被分配时间片) 抢占式,由时钟装置发出时 ...
- java多级反馈队列进程调度,多级队列反馈调度算法 请教多级反馈队列调度算法...
请教多级反馈队列调度算法???????????? 在某一操作系统中对进程调度采用多级反馈队列调度算法.现设定采用三级分数给小编了,小编来 0时刻A到达,进入I队列,执行2个时间段后,转向队列II,再执 ...
- 2.2.5 操作系统之调度算法(时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法)
文章目录 0.思维导图 1.时间片轮转---RR 2.优先级调度算法 3.多级反馈队列调度算法 4.三种算法的对比总结 0.思维导图 1.时间片轮转-RR Round-Robin 时间片为2举例 以时 ...
- 时间片轮转(RR)、优先级调度算法以及多级反馈队列调度算法
一.调度算法 (一)时间片轮转(RR, Round-Robin) 例题:各进程到达就绪队列的时间.需要的运行时间如下表所示.使用时间片轮转调度算法,分析时间片大小分别是2.5时的进程运行情况. 常用于 ...
- 调度算法(时间片轮转,优先级调度,多级反馈队列)【操作系统学习笔记】
16.调度算法(时间片轮转,优先级调度,多级反馈队列) 文章目录 16.调度算法(时间片轮转,优先级调度,多级反馈队列)
- 十、调度算法----时间片轮转、优先级调度、多级反馈队列
一.知识总览 二.时间片轮转法 注意: 如果时间片太大,使得每个进程都可以在一个时间片内完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程的响应时间,因此时间片不能太大. 另一方面,进 ...
- 【进程调度算法】时间片轮转调度算法、多级反馈队列调度算法(Java实现)
时间片轮转调度算法(RR)是十分简单的进程调度算法. 进程在执行时的情况 在该时间片内进程执行完毕,这种情况调度程序将立即把该进程弹出队列,并把CPU分配给新的队首进程 在该时间片内进程未执行完毕,调 ...
- 操作系统 --多级反馈队列调度算法
操作系统 --多级反馈队列调度算法 转载地址:https://blog.csdn.net/qq_29342297/article/details/83538828 多级反馈队列算法:不需要事先知道各种 ...
最新文章
- 网络学习:VLAN和独臂路由
- 转- prototype
- gdb调试问题Missing separate debuginfos, use: debuginfo-install
- java demo在哪里下载_[Java教程]Java学习 (一)、下载,配置环境变量,第一个demo...
- 基本概念/MM相关概念
- 向量空间模型(Vector Space Model)的理解
- IM推送保障及网络优化详解(二):如何做长连接加推送组合方案
- pythonsqlite视图_SQLite VIEW/视图
- Advapi 登录类型8的错误
- 设置ArcGIS的外观改回到出厂
- ubuntu20输入法qiehuan_UBUNTU 20 输入法问题
- LGD模型开发细节|全网首发
- Yii Framework2.0开发教程(5)数据库mysql函数
- CentOS安装NVidia驱动提示kernel source path问题
- 【2022最新Java面试宝典】—— SpringBoot面试题(44道含答案)
- 从客户需求到产品立项六步法
- 中国商界的顶级秘法之一:民营企业的五层次策划
- redis的高级教程
- 软件项目管理 3.5.敏捷生存期模型
- Spring定时任务(计划任务)