先决条件–流程管理| CPU调度
最长作业优先(LJP)是一种非抢占式调度算法。该算法基于进程的突发时间。根据进程的突发时间,即按照突发时间的降序,将它们放入就绪队列。顾名思义,该算法基于以下事实:首先处理突发时间最大的进程。仅考虑那些在该时间之前已到达系统的进程的突发时间。它的抢占版本称为最长剩余时间优先(LRTF)算法。
程序:
- 步骤1:
首先,按到达时间的升序对流程进行排序。 - 第2步:
在截止时间之前到达的所有进程中,选择具有最高突发时间的进程。然后处理其突发时间。检查是否有其他进程到达,直到该进程完成执行。 - 步骤3:
重复上述两个步骤,直到执行了所有过程。
笔记-
如果两个进程的突发时间相同,则使用FCFS打破平局,即首先处理最先到达的进程。
缺点-
- 对于给定的一组过程,该算法提供了很高的平均等待时间和平均周转时间。
- 这可能导致车队效应。
- 可能会发生一个短流程永远不会执行的情况,并且系统会继续执行较长的流程。
- 它降低了处理速度,从而降低了系统的效率和利用率。
让我们考虑以下示例。
示例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
在职的:
- 在t = 1时,可用过程:P1。因此,选择P1并执行2 ms。
- 在t = 3时,即在执行P1之后,可用过程:P2,P3。因此,选择P3并执行6 ms(因为BT(P3)= 6高于BT(P2)= 4)
- 在t = 9时,即在执行P3之后,可用过程:P2,P4。因此,选择P4并执行8 ms(因为BT(P4)= 8,BT(P2)= 4)
- 最后执行过程P2 4 ms。
笔记 –
由于在给定的时间间隔内没有可用的进程,因此CPU将在0到1单位时间内处于空闲状态。
甘特图将如下所示,
由于可以通过甘特图直接确定完成时间(CT),并且
Turn Around Time (TAT)
= (Completion Time) - (Arival Time)
Also, Waiting Time (WT)
= (Turn Around Time) - (Burst Time)
因此,决赛桌看起来像
输出 :
Total Turn Around Time = 40 ms
So, Average Turn Around Time = 40/4 = 10.00 ms
And, Total Waiting Time = 20 ms
So Average Waiting Time = 20/4 = 5.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
在职的 :
这个例子的甘特图
由于可以通过甘特图直接确定完成时间(CT),并且
Turn Around Time (TAT)
= (Completion Time) - (Arival Time)
Also, Waiting Time (WT)
= (Turn Around Time) - (Burst Time)
因此,决赛桌看起来像
输出 :
Total Turn Around Time = 40 ms
So, Average Turn Around Time = 40/5 = 8 ms
And, Total Waiting Time = 24 ms
So, Average Waiting Time = 24/5 = 4.8 ms