📜  门| GATE-CS-2006 |第65章

📅  最后修改于: 2021-07-02 15:19:34             🧑  作者: Mango

考虑三个进程,它们全部在零时间到达,总执行时间分别为10、20和30个单元。每个进程将前20%的执行时间用于I / O,接下来的70%的时间用于计算,而后10%的时间再次用于I / O。操作系统使用最短的剩余计算时间优先调度算法,并在正在运行的进程在I / O上被阻塞或正在运行的进程完成其计算突发时调度新进程。假定所有I / O操作都可以尽可能地重叠。 CPU保持空闲状态的时间百分比是多少?

(A) 0%
(B) 10.6%
(C) 30.0%
(D) 89.4%答案: (B)
解释:

最短剩余时间(SRT)调度算法选择要执行的过程,该过程具有最短的剩余完成时间。

设三个过程为p0,p1和p2。它们的执行时间分别是10、20和30。

p0首先在I / O中花费2个时间单位,在CPU时间中花费7个单位,最后在I / O中花费1个单位。
p1首先在I / O中花费4个单位,在CPU时间中花费14个单位,最后在I / O中花费2个单位。
p2首先在I / O中花费6个单元,在CPU时间中花费21个单元,最后在I / O中花费3个单元。

PID AT IO BT IO
P0 0 2 7 1
P1 0 4 14 2
P2 0 6 21 3

AT到达时间,IO输入/输出,BT突发时间

第一个进程p0将在IO中花费2个单元,接下来的7个单元将在BT中使用,然后进程p1将在BT中花费14个单元(因为它的4个IO单元在上一个进程运行时已经被使用),十个进程p2将花费21个单元在BT中(因为在运行先前的进程时已经消耗了它的6个IO单元),在IO中至少有3个单元(包括进程p0,p1,p2的最后一个IO)。

idle   p0    p1     p2    idle
0    2     9     23     44     47

Total time spent = 47
Idle time = 2 + 3 = 5
Percentage of idle time = (5/47)*100 = 10.6 %

参见http://www.geeksforgeeks.org/operating-systems-set-15/的问题2

该解决方案由Nitika Bansal提供
这个问题的测验