操作系统使用最短剩余时间优先调度算法来抢先调度进程。考虑以下一组进程及其到达时间和CPU突发时间(以毫秒为单位):
Process Arrival Time Burst Time
P1 0 12
P2 2 4
P3 3 6
P4 8 5
进程的平均等待时间(毫秒)为_________。
(A) 4.5
(B) 5.0
(C) 5.5
(D) 6.5答案: (C)
解释:
Process Arrival Time Burst Time
P1 0 12
P2 2 4
P3 3 6
P4 8 5
突发时间–进程从CPU完整执行所需的总时间。
等待时间–进程在就绪队列中等待等待轮到CPU的时间为多少?
现在,上述过程的甘特图为:
P1 - 0 to 2 milliseconds
P2 - 2 to 6 milliseconds
P3 - 6 to 12 milliseconds
P4 - 12 to 17 milliseconds
P1 - 17 to 27 milliseconds
进程p1在时间0到达,因此cpu开始执行它。
在2个单位时间P2到达并且P2的突发时间为4个单位之后,进程p1的剩余时间为10个单位,因此cpu开始执行P2,将P1置于等待状态(抢先和最短剩余时间优先调度) 。
由于P1的剩余时间最长,因此最终由CPU执行。
Now calculating the waiting time of each process:
P1 -> 17 -2 = 15
P2 -> 0
P3 -> 6 - 3 = 3
P4 -> 12 - 8 = 4
Hence total waiting time of all the processes is
= 15+0+3+4=22
Total no of processes = 4
Average waiting time = 22 / 4 = 5.5
Hence C is the answer.
这个问题的测验