这个CPU调度算法任务的结果是什么?

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

考虑以下一组流程:

一旦每个进程处理完其“突发时间”,它就会进入等待队列,然后在显示的时间后“返回”到就绪队列。

您需要模拟 200 个时间单位的 CPU 调度。

对于以下每种调度算法,您的程序必须显示甘特图

图表、平均等待时间和平均周转时间。

1- First Come First Served.
2- Shortest Job First.
3- Shortest Remaining Time First.
4- Round Robin, with q = 5
5- Preemptive Priority Scheduling, with aging; where priority is decremented by 
1 if the process remains in the ready queue for 5 time units.
6- Non-preemptive Priority Scheduling, with aging; where priority is 
decremented by 1 if the process remains in the ready queue for 5 time units.

对于此作业,您可以使用您选择的任何编程语言。

流程 到达时间 爆发时间 之后回来 优先
P1 0 10 2 3
P2 1 8 4 2
P3 3 14 6 3
P4 4 7 8 1
P5 6 5 3 0
P5 7 4 6 1
P7 8 6 9 2

提示:您应该创建一个最初创建 7 个进程的进程,并不断更新进程的状态,以及另一个调度这些进程并绘制结果的进程,

我的问题是如何利用这个回来时间?

进程必须完成为什么会返回到就绪队列?

c operating-system cpu cpu-architecture scheduling
1个回答
0
投票

我的问题是如何利用这个回来时间?进程必须完成为什么会返回到就绪队列?

问题陈述指出:

一旦每个进程处理完其“突发时间”,它就会进入等待队列,然后在显示的时间后“返回”到就绪队列。

突发时间是给定进程单次允许的最大持续时间。当一个进程被允许运行时,突发时间定时器/计数器被重置为0,然后随着时钟的滴答而递减,如果满足突发时间,那么该进程肯定没有完成,并且必须被中断/由于突发时间限制而停止/暂停,而不是完成。 (系统计时器/计数器可能从突发时间向下运行到 0,而不是从 0 向下运行到突发时间。)

由于达到突发时间的进程尚未完成,因此有必要再给它一次运行机会,这是通过首先等待一段时间(即“回来后”),然后使其准备好再次运行(即可运行)来完成的。当处于等待期间时,它没有资格运行,因此不会运行(也许除非就绪队列为空)。

另一方面,当一个进程完成时,即运行到成功完成其所有工作时,它将在达到突发时间限制之前(即仍在其突发时间内)通知系统。它将从队列中删除。

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