循环调度程序 - 在列表中处理两次?先发制人?

问题描述 投票:0回答:4

循环调度程序通常维护所有可运行进程的列表,每个进程在列表中只发生一次。 但是如果一个进程在列表中出现两次会发生什么?

循环调度到底是抢占式还是非抢占式调度策略?

process cpu scheduler round-robin
4个回答
1
投票

在循环调度中,就绪队列中的所有进程都被赋予相等的时间单位。 CPU 时间在进程之间平均分配。因此,如果一个进程被列出两次,它将获得其他进程两倍的 CPU 时间。

来源:http://basicofcomputer.com/round_robin_scheduling_algorithm_in_operating_system.htm


0
投票

如果处理器在循环列表中出现多次,则每次通过列表都会轮到两次。允许这样做的一个原因是实施 原始优先级系统,因为它在列表中出现的次数越多,优先级就越高 CPU 在该进程上花费的时间百分比。


0
投票

循环调度。 Round Robin 是抢占式进程调度算法。每个进程都有一个固定的执行时间,称为量子。一旦一个进程在给定的时间段内执行,它就会被抢占,其他进程在给定的时间段内执行。

来源:TutorialsPoint (https://www.tutorialspoint.com/operating_system/os_process_scheduling_algorithms.htm)


0
投票

循环调度程序运行 FCFS 队列中所有可运行进程的列表,并添加了称为时间量程的概念。每个进程都会获得一小部分 CPU 时间(时间量),直到它被抢占并且队列中的下一个进程可以运行为止。否则,如果突发时间小于时间量,它会自动释放CPU。如果一个进程在列表中出现两次,那么它将获得两倍的 CPU 时间,因为它获得的轮数是在队列中只出现一次的进程的两倍。 最后,需要明确的是,循环调度程序是一种抢占式策略。

资料来源:Silberschatz、Abraham 等人。操作系统概念。第 10 版,Wiley,警察,2018 年。 第 5 章第 3 节第 276-278 页

© www.soinside.com 2019 - 2024. All rights reserved.