问答题
假设一个计算机系统具有如下性能特征:处理一次中断平均需要500μs,一次进程调度平均需要花费1ms,进程的切换平均需要花费2ms。若该计算机系统的定时器每秒发出120次时钟中断,忽略其他I/O中断的影响,那么请问:
问答题
操作系统将百分之几的CPu时间分配给时钟中断处理程序?
【正确答案】每秒产生120个时钟中断,每次中断的时间为
1/120≈8.3(ms)
其中,中断处理耗时为500μs,那么其开销为
500μs/8.3ms=6%
【答案解析】
问答题
如果系统采用时间片轮转调度算法,24个时钟中断为一个时间片,操作系统每进行一次进程的切换,需要花费百分之几的CPU时间?
【正确答案】24个时钟为一个时间片,那么每24次时钟中断会产生24次中断处理、1次调度、1次切换。所以,每引起一次进程切换需要耗时
24×500μs+1ms+2ms=15ms
每24次中断共消耗时间
24×8.3ms=200ms
CPU的系统开销
15ms/200ms=7.5%
【答案解析】
问答题
根据上述结果,请说明,为了提高CPU的使用效率,可以采用什么对策?
【正确答案】为了提高CPU的效率,一般情况下尽量减少时钟中断的次数,如由每秒120次降低到100次,以延长中断的时间间隔。或者将每个时间片的中断数量加大,如由24个中断加大到36个。也可以优化中断处理程序,减少中断处理开销,如将每次500μs的时间降低到400μs。若能这样,则每一次进程切换的CPU开销为
(36×400μs+1ms+2ms)/(1/100×36)≈4.8%
【答案解析】