多级队列调度 (MLQ) 和先到先服务 (FCFS) 的区别

多级队列调度 (MLQ) 和先到先服务 (FCFS) 的区别

1.多级队列调度(MLQ):
只有一个队列并安排所有进程是相当困难的。这是使用多级队列调度的地方。在这种情况下,根据进程的属性(如系统进程、I/O 进程等)将进程分为不同的类。因此,我们为 n 类进程获得了“n”个队列。每个队列都有一个优先级,可以使用自己的调度算法,方便同时使用多种调度算法。通常,队列的最高级别具有最高优先级,随着我们移动到较低级别而降低。如果上层比下层具有绝对优先级,则它是非抢占式的,否则如果时间片在各个队列之间划分,则它本质上是抢占式的。

优点 :
该算法的主要优点是我们可以在不同的队列中同时使用FCFS、SSJF、LJF等多种算法。
缺点:
最低级别的进程遭受饥饿问题。

  1. 先到先服务 (FCFS) 调度算法:
    它是最简单的非抢占式调度算法。在先到先服务 (FCFS) 中,进程按照到达的顺序分配给 CPU。队列数据结构用于实现FCFS调度算法。当 CPU 空闲时,处于就绪队列头部的进程被分配给 CPU。然后从队列中删除正在运行的进程。当一个新进程进入就绪队列时,它被放到就绪队列的尾部。

FCFS 和多级队列调度的区别:

先到先服务 (FCFS) 多级队列调度
先到先服务(FCFS)是一种非抢占式调度算法。 MLQ 可以是非抢占式或抢占式,具体取决于条件。
先到先服务 (FCFS)按照到达时间的升序执行这些进程。进程的执行取决于进程所属的特定队列级别的优先级。 进程的进一步选择基于特定队列中使用的算法类型。
FCFS 的开销最小。 MLQ 有一些 CPU 开销,因为它需要在队列之间切换。
先到先服务调度算法为进程提供了高响应时间。 响应时间可能长或短,取决于多级队列的各个级别中使用的算法。
FCFS在分时系统中使用不方便。 多级队列调度可以根据需要在任何系统中实施。
在先到先服务调度算法中,平均等待时间通常不是最短的。 平均等待时间取决于不同级别队列中使用的算法。
先到先服务 (FCFS)是最简单的算法类型。 算法复杂,难以实现。
先到先服务 (FCFS)导致护航效应。 多级队列调度导致较低级别的进程饥饿。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程