1. 最长工作优先(LJF):
CPU调度算法,具有最大突发行的进程首先执行。一旦进程进入就绪队列,该进程只有在执行完成后才退出,因此它是非抢占式进程。如果进程的突发时间相同,则选择总体时间最短的作业。这种CPU调度算法导致系统吞吐量低。

2. 最长剩余作业优先(LRJF):
它是最长任务优先CPU调度算法的抢占版。每秒钟选择一次进程突发时间,然后选择最长的作业。如果流程的Burst Time相同,则选择总体到达时间较低的作业。
它遭受饥饿,因为同时检查进程的剩余爆发时间。它也被称为“最长剩余时间优先”算法。

LJF和LRJF CPU调度算法的区别:

LJF LRJF
LJF非先发制人 LRJF先发制人
LJF遭受饥饿 LRJF也遭受饥饿
LJF等待时间高等待时间不高 LRJF进程在一段时间间隔后才有机会执行。
LJF切换上下文更少,因为一旦进程进入运行状态就会被完全执行。 LRJF切换上下文更多,因为要不断检查进程的执行情况。
LJF进程仅根据其CPU时间和到达时间执行,而不会增加CPU过载。 LRJF进程反复检查是否有空闲的CPU,从而增加了过载。
LJF在最长的作业持续之前,没有进程能够完成它的执行。 LRJF进程可以在最长的进程之前完成执行。