我在Internet上搜索了有关CPU调度中算法的示例,但从未见过具有相同到达时间的示例。
是否可以使进程具有相同的到达时间?
例如:
算法:循环赛
过程----到达时间-----突发时间
P1 ----------------- 3 ------------------ 4 -----
P2 ----------------- 1 ------------------ 5 -----
P3 ----------------- 1 ------------------ 3 -----
Quantum = 1
甘特图会是什么样?
答案 0 :(得分:0)
当然,多个进程可以具有相同的到达时间,即它们来寻找CPU来执行它们的时间。并且处理器有责任按照适当的调度算法相应地处理和调度它们。
当两个或多个进程的到达时间相同时,则RR调度遵循FCFS {先来先服务}方法。在quantum = 1的循环调度中,我们有
在时间0,没有任何处理 在时间1处,我们首先拥有P2和P3以及P2,然后在量子RR执行P3之后, 在时间3,我们拥有所有三个顺序为P2,P3,P1的进程,因此RR算法将一直在它们之间进行切换,直到它们完成其执行(突发)时间为止。 我们将在时间13处执行所有操作。
答案 1 :(得分:0)
是否可以使进程具有相同的到达时间?
是的,对于“相同时间”的正常定义(例如,排除“在相同的普朗克时间范围内”),流程可能具有相同的到达时间。
例如,假设是否有100个任务睡到午夜。午夜发生时,计时器IRQ处理程序将处理一系列等待唤醒的任务,并在“相同”时间唤醒100个任务。
现在,对于本示例,您可以说“相同时间”更严格;计时器IRQ处理程序将按顺序处理任务列表,并将其顺序添加到调度程序的队列中,并且“几乎同时”进行。在这种情况下,仍然有可能让N个CPU并行运行(每个CPU使用不同的计时器),这些CPU恰好同时唤醒(最多)N个任务。