最短剩余时间优先SRTF如何工作?

问题描述

如果正在处理作业,那么完成任务会不会有最短的时间,因为它在被抢占时最终会变成准备运行队列的头?

那么这是一个重复的循环,直到一项工作完成且有间接费用吗?

不再忽略流程(就像SJF)吗?

谢谢

解决方法

否,正在处理的作业不一定有最短的剩余时间。 SRTF检查就绪队列中是否有一个进程,该进程具有较少的突发时间来完成抢占。假设您有p1,p2和p3。 p1的突发总数为15,到达时间0,p2的突发总数为10,到达时间3,p3突发的总数为1,到达时间4。

使用SRTF执行将是:

p1 -> from 0 to 3,remaining burst -> p1 = 12

在3到达p2,p2突发

p2 -> from 3 to 4,remaining burst -> p1=12,p2 = 9 

在4到达p3时,p3突发

p3-> from 4 to 5,remaining burst -> p2=9,p1=12
p2-> from 5 to 14,remaining burst -> p1=12
p1-> from 14 to 26,end