多级反馈队列调度算法事例
假设系统中有3个反馈队列Q1,Q2,Q3,时间片分别为2,4,8。
设有3个作业J1,J2,J3分别在时间 0 ,1,3时刻到达。而它们所需要的CPU时间分别是3,2,1个时间片。
1、时刻0 J1到达。于是进入到队列1 , 运行1个时间片 , 时间片还未到,此时J2到达。
2、时刻1 J2到达。 由于同一队列采用先来先服务,于是J2等待。 J1在运行了1个时间片后,已经完成了在Q1中的2个时间片的限制,于是J1置于Q2等待被调度。当前处理机分配给J2。
3、时刻2 J1进入Q2等待调度,J2获得CPU开始运行。
4、时刻3 J3到达,由于同一队列采用先来先服务,故J3在Q1等待调度,J1也在Q2等待调度。
5、时刻4 J2处理完成,由于J3,J1都在等待调度,但是J3所在的队列比J1所在的队列的优先级要高,于是J3被调度,J1继续在Q2等待。
6、时刻5 J3经过1个时间片,完成。
7、时刻6 由于Q1已经空闲,于是开始调度Q2中的作业,则J1得到处理器开始运行。 J1再经过一个时间片,完成了任务。于是整个调度过程结束。
从上面的例子看,在多级反馈队列中,后进的作业不一定慢完成。
多级反馈队列调度算法事例相关推荐
- 多级反馈队列调度算法原理
多级反馈队列调度算法是一种CPU处理机调度算法,UNIX操作系统采取的便是这种调度算法.
- 2.2.5 操作系统之调度算法(时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法)
文章目录 0.思维导图 1.时间片轮转---RR 2.优先级调度算法 3.多级反馈队列调度算法 4.三种算法的对比总结 0.思维导图 1.时间片轮转-RR Round-Robin 时间片为2举例 以时 ...
- 【学习笔记】第二章——时间片轮转RR、优先级调度、多级反馈队列调度算法
文章目录 一. 时间片轮转 二. 优先级调度 三. 多级反馈队列调度算法 四. 总结 一. 时间片轮转 公平,轮流给进程提供时间片 只用于进程调度(只有进程才能被分配时间片) 抢占式,由时钟装置发出时 ...
- linux多级反馈队列的实现,多级反馈队列调度算法的实现
<多级反馈队列调度算法的实现>由会员分享,可在线阅读,更多相关<多级反馈队列调度算法的实现(16页珍藏版)>请在人人文库网上搜索. 1.学生实习报告课程名称_ 数据结构与数据处 ...
- 多级队列调度算法可视化界面_多级反馈队列调度算法
我是一名计算机专业的学生,很荣幸在这里结识各位编程高手.今天第一次写东西,希望大家多多支持,多多留言哦.以下是一个多级反馈队列调度算法,请各位帮忙看看对不对.如果谁能帮写一个更好的那就更感谢了.THA ...
- linux多级反馈队列的实现,多级反馈队列调度算法详解
通常在使用多级队列调度算法时,进程进入系统时被永久地分配到某个队列.例如,如果前台和后台进程分别具有单独队列,那么进程并不从一个队列移到另一个队列,这是因为进程不会改变前台或后台的性质.这种设置的优点 ...
- 多级反馈队列调度算法(c++)
如果对你有帮助,可以给卑微的博主留个赞.关注.收藏 (不是) (骗一下数据,说不定以后面试就过了,拜谢) 操作系统基本调度算法,多级反馈队列调度算法.在划分时间片的调度算法中,多级反馈队列算法兼顾 ...
- 多级反馈队列调度算法(附Python3实现代码)
一.多级反馈队列调度算法 多级反馈队列调度算法是进程调度的一种算法,该调度算法可以不用事先知道各种进程所需的执行时间,还可以较好的满足各种类型进程的需要,是目前共认的一种较好的进程调度算法. 那你可能 ...
- 非抢占式多级反馈队列调度算法 C++实现
#include <bits/stdc++.h> using namespace std; int a[100],s[100],y[100],A[100],n;//a[]代表来的时间,s[ ...
最新文章
- enspar启动失败40_负债80万开始爆仓,快40岁的人了没钱创业,精神恍惚该怎么翻身?...
- ClickHouse系列教程六:源码分析之Debug编译运行
- swift_044(Swift 计算属性和存储属性的概念以及使用)
- 从0到50家AI独角兽,中国人工智能凭什么让世界刮目相看?
- oce专项认证 oracle_获得Oracle认证对拓展职业前景的影响
- C++ STL与迭代器
- 【Tensorflow】tf.nn.depthwise_conv2d如何实现深度卷积?+深度可分离卷积详解
- OSI(Open System Interconnect)开放式系统互联
- oracle 分词函数,Oracle 中文分词
- 微信公众号“成为开发者”实践代码
- linux PE制作ramdisk,PE怎样在中建立一个Ramdisk盘
- 对于placeholder浏览器兼容性(包括密码输入框)解决办法
- ElementUI table 样式修改
- 45个经典蓝屏案例一一破解
- 使用Koloda View在Swift中构建类似Tinder(国内的探探社交应用)的卡片
- 吉他调音软件 android,吉他调音器专业版
- python 主力资金_真正的主力进场加仓指标源码
- mysql 设置 0、1 用什么数据类型_不断精炼核心知识点,终于能把MySQL讲懂了
- 计算机网络实验——交换机的基本配置与管理
- 扩展二叉树的中序序列创建二叉树?
热门文章
- iwork11旗舰版 linux,苹果 iWork 11 套件来了,Pages/Numbers/Keynote iOS/macOS 版大升级
- JAVA一个项目的路径为_java 得到项目路径
- 怎样用ug画铝型材_用UG画钻头,适合初学UG的小伙伴,快来学习吧!
- Python爬虫【二】请求库requests
- 用GDB调试程序(五)
- 《python 与数据挖掘 》一 1.2 工具简介
- 【Arduino基础教程】FSR402力敏电阻器
- CODEFORCES 55D
- 线程池的原理及实现(转)
- OpenGL基础知识