操作系统使用最短剩余时间优先 (SRT) 进程调度算法。考虑以下流程的到达时间和执行时间:
Process Execution time Arrival time
P1 20 0
P2 25 15
P3 10 30
P4 15 45
进程 P2 的总等待时间是多少?
(一) 5
(乙) 15
(C) 40
(四) 55答案:(乙)
说明:最短剩余时间,也称为最短剩余时间优先(SRTF),是一种调度方式,是最短作业下一个调度的抢占版本。在这种调度算法中,选择执行完成前剩余时间最少的进程。由于根据定义,当前正在执行的进程是剩余时间最短的进程,并且由于该时间只会随着执行的进行而减少,因此进程将始终运行,直到它们完成或添加需要更短时间的新进程。
流程执行甘特图:
在时间 0,P1 是唯一的进程,P1 运行了 15 个时间单位。
在时间 15,P2 到达,但 P1 的剩余时间最短。所以 P1 再继续 5 个时间单位。
在时间 20,P2 是唯一的进程。所以它运行了 10 个时间单位。
在时间 30,P3 是最短的剩余时间过程。所以它运行了 10 个时间单位。
在时间 40,P2 运行,因为它是唯一的进程。 P2 运行 5 个时间单位。
在时间 45,P3 到达,但 P2 的剩余时间最短。所以 P2 继续了 10 个以上的时间单位。 P2 在时间 55 完成其执行。
众所周知,周转时间是从提交流程到完成流程之间的总时间。等待时间是时间 一个进程在就绪队列中花费的时间和等待时间是周转时间和突发时间之间的差值。
P2 的总周转时间 = 完成时间 – 到达时间
= 55 – 15 = 40
P2的总等待时间=周转时间-突发时间
= 40 – 25 = 15
参见 http://www.geeksforgeeks.org/operating-systems-set-12/ 的问题 3
此解决方案由Nitika Bansal 提供
观看 GeeksforGeeks 视频说明:
这个问题的测验