页面置换算法是在虚拟内存技术中使用。 物理内存只有3个页,程序有7个页,先装3个页,可是此时,又有需要装入内存的请求时,我们要先把原先三个页的那个页的内容给置换,此时便需要页面置换算法。
缺页概念:CPU需要使用调用程序的某一页,而内存中没有该页,就是缺页。
1、最佳置换算法
选择哪些是以后永远不再用的或者是在长时间内不再被访问的页置换出去。理想化,系统无法确定哪个页面未来最长时间内不再被访问,一般用来评价其他算法。
2、先进先出算法
总是置换出最先进入内存的页面,即选择在主存中驻留时间最长的一页置换出去。最直观,性能最差。
3、最近最久未使用算法LRU
选择最近最长时间没有被使用的页面置换出去。系统在每个页面设置一个字段,记录这个页面上次被访问以来所经过的时间T,当需要置换时候,淘汰T最大置换出去。
4、最近未用算法NUR
将最近一段时间未被引用过的页面换出去。给每个页面设置一个访问位,并将主存中所有页面链成一个循环队列。当某页被访问时,访问位设1。当需要置换出一页时,检测访问位,如果是0,则置换出去;如果是1,则设置为0,暂时不置换出去,继续检查队列中下一个页面,直到访问位为0的页面位置。