减少缺页中断即换页错误

转载原文地址:https://blog.csdn.net/top_along/article/details/37833893

换页错误:Page Fault,其实应该翻译成缺页异常或缺页中断,并非是错误,而是存在虚拟内存情况下的内存未命中,是非常常见的现象。内存分块,进程分页,页与块对应,而当进程远大于内存时候,可采用虚拟内存的技术,部分当前不用的页放在外存中,进程运行到所需页不在内存中时,就发生缺页中断,即换页错误,需要从外存中取页。换页错误多发将存在过多IO操作,大大降低速度,所以需要减少分页错误。

减少换页错误的方法,即降低缺页中断率:

1、内存页框数。增加作业分得的内存块数。

2、页面大小。页面划分越大,中断率越低。

3、页面零星换算法。替换算法的优劣影响缺页中断次数

4、程序局部性。程序局部性好可减少缺页中断。

局部性是指:
1、程序顺序执行
2、程序跳转不会太远
3、程序存在许多循环
4、对计多数据结构(如数组)的处理局限于小范围
5、程序部分内容互斥(如出错处理程序往往执行不到,可放外存)

局部性好,导致下一个要找的东西就在当前内存的前后不远处,很有可能就在同一页里,所以就不需要频繁换页,换页错误也就少了。

猜你喜欢

转载自blog.csdn.net/chengchaonan/article/details/89056607