单处理器计算机系统只有两个进程,两个进程交替使用10ms CPU突发和90ms I / O突发。这两个过程几乎是同时创建的。两个进程的I / O可以并行进行。以下哪种调度策略将导致该系统的CPU利用率最低(长时间)?
(一)先到先得日程安排
(B)最短剩余时间优先排程
(C)静态优先级调度,两个进程具有不同的优先级
(D)时间间隔为5毫秒的循环调度答案: (D)
说明:使用循环调度时
给出的时间片是5ms。考虑过程P和Q。
假设P使用5毫秒的CPU,然后Q使用5毫秒的CPU。因此,在15ms之后,P从I / O开始,而20ms之后,Q也从I / O开始。由于I / O可以并行完成,因此P在第105毫秒(15 + 90)时完成I \ O,而Q在第110毫秒(20 + 90)时完成其I \ O。因此,我们可以看到CPU从20到105毫秒处于空闲状态。
那就是当使用循环调度的时候,
CPU的空闲时间= 85ms
CPU使用率= 20/105 = 19.05%
当使用“先到先服务”调度计划或“最短剩余时间优先”时
假设P使用10毫秒的CPU,然后启动其I / O。在第11毫秒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或最短剩余时间。
因此,循环将导致最少的CPU使用率。
资料来源:http://gateoverflow.in/963/gateoverflow.in
这个问题的测验