本篇从一道题目出发理清楚这类题目想表达的意思。这类题目很有趣的一点在于,从不同的角度思考,复杂度是不一样的。也就是,用正确的思路去想,就很简单且自然。
假设一个计算机系统具有如下性能特征:处理一次中断平均需要500us,一次进程调度平均需要花费1ms,进程的切换平均需要花费2ms。若该计算机系统的定时器每秒发出120次时钟中断,忽略其他中断的影响,请问:
1)操作系统将百分之几的CPU时间分配给时钟中断处理程序?
2)如果操作系统采用时间片轮转调度算法,24个时钟中断算一个时间片,操作系统每进行一次进程的切换需要花费百分之几的CPU时间?
虽然你也可能非常明确每一个步骤的进行,或许你和我一样但是一到如何计算占用CPU时间比例,就有些迷惑。
1) 这里,每秒发出120次时钟中断和中断处理联系怎么理解?
可以这样:每秒发出120个时钟中断,且每个中断都必须要处理。留给每个中断的处理时间便是: 1/120s ,再这样去考虑处理一次中断的用时