操作系统使用最短剩余时间优先(SRT)进程调度算法。考虑以下过程的到达时间和执行时间:
Process Execution time Arrival time
P1 20 0
P2 25 15
P3 10 30
P4 15 45
流程P2的总等待时间是多少?
(A) 5
(B) 15
(C) 40
(D) 55答案: (B)
解释:
最短剩余时间,也称为最短最先剩余时间(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提供
这个问题的测验