分页存储系统中内存有效访问时间计算

案例:有一个将页表存放在内存中的一级页表的分页系统,下面两种情况下,请计算有效访问时间分别是多少。

1.      系统中没有快表,访问一次内存需要0.2us;

2.      系统中有快表,快表命中率为90%,假定查快表花费的时间为λ,访问一次内存仍需0.2us。

 

分析:一级页表,访问内存中的一个数据需要两次访问内存,第一次是查页表找地址,第二次是根据地址找数据。

这个题目很简单:

对于问题1,如果页面在内存中,那么时间就是0.2+0.2=0.4us

对于问题2,如果页面在内存中,并且快表有记录,那么时间就是λ+0.2(查快表λ+找数据),如果快表没有记录,那么时间就是λ+0.2+λ+0.2(找快表λ+找页表+更新快表λ+找数据);此时再根据百分比计算就好了。

 

数据在内存中,怎么都好说,就怕数据不再内存中,就麻烦了。因为数据不再内存中就得到外存去找,这时就要发生中断,假设中断的处理时间是τ,那么这是查找一次数据的时间是多少呢?先看看流程:

先查快表不中λ,再查页表不中0.2,发生中断τ(把数据存入了内存),更新页表0.2,更新快表λ,查找数据0.2

此时总的时间是:λ+0.2+τ+0.2+λ+0.2。

 

因此上面红色字体部分大家一定要记住!!

分页存储系统中内存有效访问时间计算_第1张图片老羊快跑  一个简单、纯粹的公众号,欢迎关注。

你可能感兴趣的:(操作系统原理)