多层队列调度(MLQ)和优先级调度的区别
admin
2023-07-30 20:24:22
0

1. 多级队列调度(MLQ):
只有一个队列并调度所有进程是非常困难的。这就是使用多级队列调度的地方。在这种方法中,根据进程的属性(如系统进程、I/O进程等)将进程划分为不同的类。因此,我们为n类进程得到’ n ‘个队列数。每个队列被分配一个优先级,并可以使用自己的调度算法,这使得同时使用多个调度算法很方便。通常,队列的最顶层具有最高的优先级,当我们移动到更低的级别时,优先级会降低。如果上层的绝对优先级高于下层,那么它是非抢占性的;否则,如果时间片被划分到不同的队列中,那么它本质上就是抢占性的。

优势

  • 该算法的主要优点是可以使用FCFS、SJF、LJF等多种算法。同时在不同的队列中。

缺点-

  • 最低级别的进程会出现饥饿问题。

2. 优先级调度算法:
优先级调度算法根据进程的优先级执行进程。每个进程分配一个优先级,优先级最高的进程首先执行。优先级可以在内部和外部定义。内部的优先次序是由系统根据所需的资源数量、所需的时间等来决定的,而外部的优先次序是根据所需工作的时间、所做工作的报酬或过程的重要性来决定的。优先级调度分为抢占式和非抢占式。

注意:
如果两个进程具有相同的优先级,则使用FCFS打破平局。
在抢占模式下,最高优先级进程的等待时间始终为零,而在非抢占模式下,最高优先级进程的等待时间可能不为零。

缺点:
主要问题是饥饿或无限期阻塞。可能会发生这样的情况:在进程流中,系统持续执行高优先级的进程,而低优先级的进程永远不会被执行。

MLQ与优先级调度算法的区别:

编号 多级队列调度(MLQ) 优先级调度
1 进程的执行取决于进程所属队列的特定级别的优先级。进程的进一步选择基于特定队列中使用的算法类型。 优先级调度根据流程的优先级执行流程,即按照优先级的降序执行流程。优先级高的进程首先执行。
2 根据具体情况,它可以是非先发制人的,也可以是先发制人的。 优先级调度在本质上既是先发制人的,也是非先发制人的。
3 平均等待时间和平均响应时间取决于用于调度的多层队列的不同级别的算法。 优先级调度没有平均等待时间和响应时间的概念。
4 多级队列调度(MLQ)会导致在多级队列的较低级别上进程的短缺。 进程的阻塞问题可以通过老化来解决,老化是指在固定的时间间隔后,以固定的数量逐步增加进程的优先级。

相关内容

热门资讯

Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...
项目管理和工程管理的区别 项目管理 项目管理,顾名思义就是专注于开发和完成项目的管理,以实现目标并满足成功标准和项目要求。 工...