页面置换算法

页面置换算法:

1、 最佳置换算法:这是一种理想化的算法,既选择哪些是永不使用或者最长时间内不会被访问的页面置换出去。这种方法性能好,但是难于实现。

例题:假定系统为进程p1分配了3个物理块,该进程访问页面的顺序为“0,7,6,5,7,4,7,3,5,4,7,4,5,6,5,7,6,0,7,6”,利用最佳置换算法的结果如图所示,图中x标识产生缺页终端,求缺页次数、页面只换次数和缺页率


页面置换算法

根据题意,系统为进程分配了3个物理块,开始为空,所以前三次访问均产生缺页中断,第4次访问时需要找到一个物理块进行清除,根据最佳置换算法的要求,找到0,7,6三个页面中往后最近一次被访问最晚的,即0,进行替换,以此计算共计产生9次缺页中断,缺页率为9/20=45%

2、 先进先出算法:该算法总是淘汰最先进入主存的页面,既选择在主存中驻留时间最久的页面予以淘汰,概算发实现简单,只需把一个进程调入主存的页面,按先后顺序连接成一个队列,并设置一个指针即可,是最直观性能最差的算法

3、 最近最少未使用置换算法:该算法是选择最近最少未使用的页面予以淘汰,系统每个页面设置一个访问字段,用于记录这个页面自上次被访问以来所经历的时间t,当要淘汰一个页面时,选择t最大的页面,但在是现实需要硬件的支持(寄存器或栈)

4、最近未用置换算法:将最近一段时间未引用过的页面换出,该算法为每个页面设置一位访问位,将主存中的所有页面都通过链接指针连成一个循环队列,当某页被访问时,其访问位置1,在选择一页淘汰时,检查其访问位,如果是0,则选择该页换出,若为1置为0暂不换出,再循环队列中检查下一个页面,直到访问位为0的页面为止,由于该算法只有一位访问位,只能用它便是该页是否已经使用过,而置换时是将未使用过的页面换出去,所以该算法称为最近未用算法

————————————————

版权声明:本文为CSDN博主「不吃带叶的」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/baidu_38610980/article/details/108238333

上一篇:最短路径问题(迪杰斯特拉)算法


下一篇:Linux下面的高效的日志输出