多级反馈队列算法补充

article/2025/8/15 4:17:27

http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-sched-mlfq.pdf

本文是多级反馈队列(multi-level feedback queue,MLFQ)算法的一些小补充(两个缺陷与修改方法),参考了上面链接。因为自己用中文没有搜到想要的内容所以写一下博客。

这里的原始的MLFQ的规则如下:

  1. 如果两个任务AB,优先级(A)>优先级(B),则运行A
  2. 如果两个任务AB,优先级(A)=优先级(B),则使用时间片轮转算法运行A、B
  3. 新任务获得最高的优先级
  4. 如果某任务在某一优先级运行一个时间片后仍未结束,则下调一个优先级;如果某任务在一个时间片未完成前挂起,则优先级不变

问题有二:

  1. 如果系统中以一个较高频率产生短时的任务,依据规则,一个需要较长时间运行的任务会被调到低优先级队列并在之后得不到cpu资源。
  2. 如果一个程序被巧妙地编程,使得它可以在一个时间片完成前把自己挂起一下并很快唤醒,则可以一直呆在高优先级队列,占有过多资源。

 

图全部来自文章顶链接(不知道这样算不算侵权了...)分别对应一种问题和一种解决方案

 

针对问题一,解决方案为 Priority Boost 优先度提升,具体思想是每隔一段时间,将所有任务都放到优先度最高的队列中去,具体效果可以见上图。

针对问题二,解决方案为 Gaming Tolerance  对策容忍,具体思想是记忆某一个任务的历史记录,也就是说,记录一个任务在一段时间内总的运行时间,达到一个时间片便下调优先级,而不需要它连续运行一个时间片再下调优先级。

 

 

————

算原创呢还是翻译呢?


http://chatgpt.dhexx.cn/article/gcwcx24b.shtml

相关文章

操作系统-多级反馈队列

概述 1962年,Corbato首次提出多级反馈队列,应用于兼容时分共享系统(CTSS)。Corbato因在CTSS中的贡献和后来在Multics中的贡献,获得了ACM颁发的图灵奖(Turing Award)。该调度程序经过多年的一系列优化,出现在许多现代操作系统中。 …

操作系统学习(二):浅析多级反馈队列MLFQ

目录 0、引言 1、多级反馈队列(MLFQ)的基本规则 2、MLFQ的规则具体说明 3、MLFQ调优及其他问题 4、总结 0、引言 在上篇文章操作系统学习(一):浅析操作系统进程调度算法中讲到,在一个通用的操作系统中…

多级反馈队列调度算法(附Python3实现代码)

一、多级反馈队列调度算法 多级反馈队列调度算法是进程调度的一种算法,该调度算法可以不用事先知道各种进程所需的执行时间,还可以较好的满足各种类型进程的需要,是目前共认的一种较好的进程调度算法。 那你可能马上就要问了,多…

调度:多级反馈队列

多级反馈队列(Multi-level Feedback Queue, MLFQ)是有Corbato在1962年提出的,用于兼容时分共享系统。现在其经过多年的优化,已经被应用于很多现代操作系统中。多级反馈队列是为了解决两方面问题。一:优化周转时间。在之…

多级队列调度和多级反馈队列调度算法的实现

多级队列调度算法 操作系统实验导航 实验一:银行家算法 https://blog.csdn.net/weixin_46291251/article/details/115384510 实验二:多级队列调度和多级反馈队列调度算法 https://blog.csdn.net/weixin_46291251/article/details/115530582 实验三&…

多级反馈队列调度算法模拟实现

实验一 多级反馈队列调度算法 一. 主要实现方法和代码介绍 ​ 1.编写进程类,其只包含所需的运行时间和进程编号两个属性,还有一个运行方法,此方法就是将所需的运行时间属性减去.传入的运行时间. ​ 2.创建进程函数:创建maxp个进程,(应该不超过10,在此创建九个,即暂时不进行进…

计操实验 多级反馈队列C语言

计操实验 多级反馈队列C语言 需求: 1.队列4级,每一级的队列长度均为10;第一级的时间片为T,第二级的时间片为2T,第三级的时间片为4T,第四级的时间片为8T;(T的大小自己定) …

【操作系统】轮转和多级反馈队列

随着计算机的技术逐渐步入家用后,新的调度指标接踵而来,周转时间已经不能满足人们日常工作的需求,更多时候人们更希望计算机能有更好的交互性,使其能更快地去响应任务,由此针对优化响应时间的调度策略也遍地开花&#…

多级反馈队列调度算法(c++)

如果对你有帮助,可以给卑微的博主留个赞、关注、收藏 (不是) (骗一下数据,说不定以后面试就过了,拜谢) 操作系统基本调度算法,多级反馈队列调度算法。在划分时间片的调度算法中,多级反馈队列算法兼顾提高系统吞吐…

多级反馈队列调度算法

实验目的: 在Linux下编程实现多级反馈队列调度算法,采用三级调度策略,所有进程先按到达顺序进入一级队列,按照时间片为2轮转一次,一个时间片内未完成的进程被依次移入二队列尾部。当一级队列中没有进程时,开…

多级反馈队列调度

多级反馈队列 ​ 多级反馈队列(Multi-level Feedback Queue, MLFQ),与上个世纪70年代提出,主要应用于时分共享系统。主要解决两方面问题:一个是优化周转时间,一个是要给用户很好的交互体验。ML…

多级反馈队列算法

步骤: 0时刻,P1到达就绪队列(时间片为4的)P1先执行2ms,P2到达还未到时间片,P1继续执行2ms后,时间片到达了,P1滑到下一个就绪队列(时间片为6的)此时&#xff…

linux多级反馈队列的实现,多级反馈队列调度算法详解

通常在使用多级队列调度算法时,进程进入系统时被永久地分配到某个队列。例如,如果前台和后台进程分别具有单独队列,那么进程并不从一个队列移到另一个队列,这是因为进程不会改变前台或后台的性质。这种设置的优点是调度开销低&…

对数线性模型

http://blog.csdn.net/pipisorry/article/details/52788947 特征和指示特征 对数线性模型log linear model 对数线性模型有:最大熵模型和逻辑斯谛回归。 [概率图模型原理与技术] [PGM:无向图模型:马尔可夫网 ] 皮皮blog 最大熵模型的一般形式…

广义线性模型(Generalized Linear Model)之三:Poisson回归

广义线性模型(Generalized Linear Model)之三:Poisson回归 一、泊松回归(Poisson regression)简介(一)泊松回归(二)计数数据(三)泊松分布1&#x…

MIT自然语言处理第五讲:最大熵和对数线性模型

MIT自然语言处理第五讲:最大熵和对数线性模型(第一部分) 自然语言处理:最大熵和对数线性模型 Natural Language Processing: Maximum Entropy and Log-linear Models 作者:Regina Barzilay(MIT,EECS Depar…

机器学习教程 之 线性模型:线性回归、对数几率回归、线性判别分析

常用的三个线性模型的原理及python实现——线性回归(Linear Regression)、对数几率回归(Logostic Regression)、线性判别分析(Linear Discriminant)。 这可能会是对线性模型介绍最全面的博客 文章目录 一、…

机器学习(二)线性模型——线性回归、对数几率回归、线性判别分析

一、线性回归 线性回归(linear regression:试图学得一个线性模型以尽可能准确地预测实值输出标记。 1.最简单的形式:输入属性的数且只有一个, 最小二乘法:基于均方差误差最小化来进行模型的求解,在线性回…

对数线性模型:逻辑斯谛回归和最大熵模型

http://blog.csdn.net/pipisorry/article/details/52788947 对数线性模型log linear model 对数线性模型有:最大熵模型和逻辑斯谛回归。 特征和指示特征 对数线性模型的一般形式 [概率图模型原理与技术] 某小皮 对数线性模型的不同形式 因子图 将因子转换到对…

从线性到非线性模型-对数线性模型

从线性到非线性模型 1、线性回归,岭回归,Lasso回归,局部加权线性回归 2、logistic回归,softmax回归,最大熵模型 3、广义线性模型 4、Fisher线性判别和线性感知机 5、三层神经网络 6、支持向量机 code: https://…