页置换算法有三种方式。一种是最佳置换算法,还有先进先出置换算法,以及最久未使用LRU置换算法。
最佳置换算法
概念:最佳置换算法西安则以后永远不会被访问的也或者再未来最长时间内不再被访问的作为换出页。比如:7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1需要进入到3个页框中
首先先7 0 1先分别进去到页框中,2号页需要进入页框发现没有位置所以需要把某一个页置换出来,那么根据最佳置换算法,需要“在未来时间最长时间不使用的页”置换出来,可以看到7 0 1三个页中,7是在倒数第三个才会使用,所以把7置换出来,以此类推。
得到上图的置换。
FIFO页置换算法
意思很明确也就是那个页先进来,哪个页就先出去,类似于栈的使用,还是用上个例子,7 0 1先进来,那么最先出去也就是7,然后2进来,在书写计算的时候可以用栈的凡是7最下面,0在中间,1在最上面,7置换出去,相当于是最下面空了,然后0和1掉下来,新进入的2在最上面
LRU置换算法
LRU置换算法是选择最近未使用的页换出(最近最久未使用的页在最近的将来被访问的可能性页比较小)
最近是看将要置换的页最近的,置换的是离得最远的,
还是上面的例子,先进来7 0 1 ,当到2时没有位置了。需要置换,离2最近的是1和0,最久的是7,所以把7置换出去。