先决条件 – 流程管理 | CPU调度
这是最长作业优先 (LJF) 调度算法的抢占式版本。在这个调度算法中,我们找到剩余时间最大的进程,然后对其进行处理。我们检查一段时间间隔后的最大剩余时间(比如每个 1 个单位),以检查是否有另一个具有更多突发时间的进程到达该时间。
程序:
- 步骤 1:首先,按到达时间的递增顺序对进程进行排序。
- Step-2:选择到达时间最短但突发时间最长的进程。然后将其处理为 1 个单位。检查在执行时间之前是否有任何其他进程到达。
- Step-3:重复以上两个步骤,直到执行完所有流程。
示例 1:考虑以下四个进程 P1、P2、P3 和 P4 的到达时间和突发时间表。
Process Arrival time Burst Time
P1 1 ms 2 ms
P2 2 ms 4 ms
P3 3 ms 6 ms
P4 4 ms 8 ms
工作:(对于输入 1):
- 在 t = 1 时,可用进程:P1。因此,选择 P1 并执行 1 ms。
- 在 t = 2 时,可用进程:P1、P2。因此,选择 P2 并执行 1 ms(因为 BT(P1)=1 小于 BT(P2) = 4)
- 在 t = 3 时,可用进程:P1、P2、P3。因此,选择 P3 并执行 1 ms(因为 BT(P1) = 1 ,BT(P2) = 3 ,BT(P3) = 6)。
- 重复以上步骤,直到所有进程执行完毕。
请注意,CPU 将空闲 0 到 1 个单位时间,因为在给定的时间间隔内没有可用的进程。
甘特图如下,
因为,完成时间 (CT) 可以直接由甘特图确定,并且
Turn Around Time (TAT)
= (Complition Time) - (Arrival Time)
Also, Waiting Time (WT)
= (Turn Around Time) - (Burst Time)
因此,决赛桌看起来像,
输出:
Total Turn Around Time = 68 ms
So, Average Turn Around Time = 68/4 = 17.00 ms
And, Total Waiting Time = 48 ms
So Average Waiting Time = 48/4 = 12.00 ms
示例 2:考虑以下四个进程 P1、P2、P3、P4 和 P5 的到达时间和突发时间表。
Process Arrival time Burst Time
P1 0 ms 2 ms
P2 0 ms 3 ms
P3 2 ms 2 ms
P4 3 ms 5 ms
P5 4 ms 4 ms
类似example-1,这个例子的甘特图,
因为,完成时间 (CT) 可以直接由甘特图确定,并且
Turn Around Time (TAT)
= (Complition Time) - (Arrival Time)
Also, Waiting Time (WT)
= (Turn Around Time) - (Burst Time)
因此,决赛桌看起来像,
输出:
Total Turn Around Time = 61 ms
So, Average Turn Around Time = 61/5 = 12.20 ms
And, Total Waiting Time = 45 ms
So, Average Waiting Time = 45/5 = 9.00 ms