📜  门| GATE-CS-2003 |第 90 题

📅  最后修改于: 2021-09-25 04:31:47             🧑  作者: Mango

单处理器计算机系统只有两个进程,这两个进程交替使用 10 毫秒 CPU 突发和 90 毫秒 I/O 突发。这两个进程几乎是同时创建的。两个进程的 I/O 可以并行进行。以下哪种调度策略会导致该系统的 CPU 利用率最低(在很长一段时间内)?
(A)先到先得调度
(B)最短剩余时间优先调度
(C)两个进程不同优先级的静态优先级调度
(D)时间片为 5 ms 的循环调度答案: (D)
说明:当使用循环调度时
我们得到时间片为 5ms。考虑过程 P 和 Q。
假设 P 使用 5ms 的 CPU,然后 Q 使用 5ms 的 CPU。因此,在 15 毫秒后 P 以 I/O 开始,20 毫秒后 Q 也以 I/O 开始。由于 I/O 可以并行完成,P 在第 105 ms (15 + 90) 完成 I\O,Q 在第 110 ms (20 + 90) 完成其 I\O。因此我们可以看到 CPU 从第 20 到第 105 毫秒一直处于空闲状态。
那就是当使用循环调度时,
CPU空闲时间= 85ms
CPU 利用率 = 20/105 = 19.05%

当使用先来先服务调度或最短剩余时间优先时
假设 P 使用 10 毫秒的 CPU,然后启动其 I/O。在第 11 ms Q 开始处理。 Q 使用 10ms 的 CPU。
P 在 100ms (10 + 90) 完成其 I/O
Q 在 110ms (20 + 90) 完成其 I/O
在第 101 毫秒 P 再次使用 CPU。因此,
CPU空闲时间= 80ms
CPU 利用率 = 20/100 = 20%

由于只涉及两个进程,并且I\O时间比CPU时间长很多,所以两个进程的“不同优先级的静态优先级调度”减少为FCFS或Shortest剩余时间优先。
因此,循环将导致最少的 CPU 使用率。

来源:http://gateoverflow.in/963/gateoverflow.in
这个问题的测验