您的位置:首页 > 其它

中断占用CPU的时间分析

2016-09-20 21:09 369 查看
本篇从一道题目出发理清楚这类题目想表达的意思。这类题目很有趣的一点在于,从不同的角度思考,复杂度是不一样的。也就是,用正确的思路去想,就很简单且自然。

假设一个计算机系统具有如下性能特征:处理一次中断平均需要500us,一次进程调度平均需要花费1ms,进程的切换平均需要花费2ms。若该计算机系统的定时器每秒发出120次时钟中断,忽略其他中断的影响,请问:

1)操作系统将百分之几的CPU时间分配给时钟中断处理程序?

2)如果操作系统采用时间片轮转调度算法,24个时钟中断算一个时间片,操作系统每进行一次进程的切换需要花费百分之几的CPU时间?

虽然你也可能非常明确每一个步骤的进行,或许你和我一样但是一到如何计算占用CPU时间比例,就有些迷惑。

1) 这里,每秒发出120次时钟中断和中断处理联系怎么理解?

可以这样:每秒发出120个时钟中断,且每个中断都必须要处理。留给每个中断的处理时间便是:1/120s,再这样去考虑处理一次中断的用时500us,那么就很容易求出所有的中断处理程序占用CPU的时间比例是:500us÷(1/120)=6%.

2) 同样我们用1)的思路去分析问题:24个时钟中断算一个时间片,每一个时间片结束就会进行进程的调度。所以每一个调度的CPU时间段是24个时间片大小。而在24个时钟中断中,调度一次进程用时1ms+2ms=3ms,所以占用百分比是3ms÷一个时间片=1.5%.

应该指出,我们计算一段时间就能判断总体的原因在于:用的是平均,因此可以将时间化为相等的段。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OS CPU 中断