多级队列调度 (Multilevel queue scheduling)
Every algorithm supports a different class of process but in a generalized system, some process wants to be scheduled using a priority algorithm. While some process wants to remain in the system (interactive process) while some are background process when execution can be delayed.
每种算法都支持不同类别的过程,但是在通用系统中,某些过程希望使用优先级算法进行调度。 有些进程希望保留在系统中(交互进程),而有些进程则是后台进程,因此可以延迟执行。
In general round-robin algorithm with different time quantum is used for such maintenance. The Number of ready queue algorithm between the queue, algorithm inside a queue algo but the queues may change from system to system. There is a various class of scheduling algorithm which is created for situations like in which the processes are easily divided into the different groups. There is a common division between the foreground(interactive) process and background (batch process). There are two types processes have the different response time, the different requirement of resources so these processes need different scheduling algorithms. The foreground processes have priority(externally defined) over background processes.
通常,使用具有不同时间量的循环算法来进行这种维护。 队列之间的就绪队列算法的数量,队列算法内部的算法,但队列可能因系统而异。 针对各种情况创建了各种类别的调度算法,在这些情况下,流程很容易分为不同的组。 在前台(交互)过程和后台(批处理过程)之间存在共同的划分。 有两种类型的进程具有不同的响应时间,不同的资源需求,因此这些进程需要不同的调度算法。 前台进程(在外部定义)的优先级高于后台进程。
In the multilevel queue scheduling algorithm partition the ready queue has divided into seven separate queues. Based on some priority of the process; like memory size, process priority, or process type these processes are permanently assigned to one queue. Each queue has its own scheduling algorithm. For example, some queues are used for the foreground process and some for the background process.
在多级队列调度算法分区中,就绪队列已分为七个单独的队列。 基于流程的某些优先级; 例如内存大小,进程优先级或进程类型,这些进程将永久分配给一个队列。 每个队列都有自己的调度算法。 例如,某些队列用于前台进程,而某些队列用于后台进程。
The foreground queue can be scheduled by using a round-robin algorithm while the background queue is scheduled by a first come first serve algorithm.
可以通过使用循环算法来调度前景队列,而通过先到先服务算法来调度背景队列。
It is said that there will be scheduled between the queues which are easily implemented as a fixed- priority preemptive scheduling. Let us take an example of a multilevel queue scheduling algorithm with five queues:
据说将在队列之间进行调度,这很容易实现为固定优先级的抢占式调度。 让我们以具有五个队列的多级队列调度算法为例:
System process
系统流程
Interactive processes
互动过程
Interactive editing processes
互动编辑过程
Batch processes
批处理
Student processes
学生流程
多级反馈调度 (Multilevel feedback scheduling)
Generally, we see in a multilevel queue scheduling algorithm processes are permanently stored in one queue in the system and do not move between the queue. There is some separate queue for foreground or background processes but the processes do not move from one queue to another queue and these processes do not change their foreground or background nature, these type of arrangement has the advantage of low scheduling but it is inflexible in nature.
通常,我们看到在多级队列调度算法中,进程永久存储在系统中的一个队列中,并且不在队列之间移动。 对于前台或后台进程有一些单独的队列,但是进程不会从一个队列移动到另一队列,并且这些进程不会更改其前台或后台性质,这些类型的安排的优点是调度少,但本质上不灵活。
Multilevel feedback queue scheduling it allows a process to move between the queue. This the process are separate with different CPU burst time. If a process uses too much CPU time then it will be moved to the lowest priority queue. This idea leaves I/O bound and interactive processes in the higher priority queue. Similarly, the process which waits too long in a lower priority queue may be moved to a higher priority queue. This form of aging prevents starvation.
多级反馈队列调度它允许进程在队列之间移动。 此过程是分开的,具有不同的CPU突发时间。 如果一个进程使用过多的CPU时间,那么它将被移到优先级最低的队列。 这个想法将I / O绑定和交互过程留在了更高优先级的队列中。 类似地,在较低优先级队列中等待太长时间的过程可能会移至较高优先级队列。 这种衰老形式可以防止饥饿。
The multilevel feedback queue scheduler has the following parameters:
多级反馈队列调度程序具有以下参数:
The number of queues in the system.
系统中的队列数。
The scheduling algorithm for each queue in the system.
系统中每个队列的调度算法。
The method used to determine when the process is upgraded to a higher-priority queue.
用于确定何时将进程升级到更高优先级队列的方法。
The method used to determine when to demote a queue to a lower - priority queue.
用于确定何时将队列降级为优先级较低的队列的方法。
The method used to determine which process will enter in queue and when that process needs service.
用于确定哪个进程将进入队列以及何时需要该进程的服务的方法。
翻译自: https://www.includehelp.com/operating-systems/multilevel-queue-scheduling-in-operating-system.aspx