FIFO、LRU以及OPT页面置换算法的示意图

前提:

1.设置三个内存块;
2. * 指的是缺页;
3. / 指的是命中。

1、先进先出页面置换算法(FIFO)

总是淘汰在内存中停留时间最长的一页,,即先进入内存的一页,先被替换出。

第一种:
FIFO、LRU以及OPT页面置换算法的示意图_第1张图片
第二种:
FIFO、LRU以及OPT页面置换算法的示意图_第2张图片

2、最近最久未使用页面置换算法(LRU)

选择在最近一段时间里没有被使用过的页面,将其淘汰,也就是被其他页面替换。

第一种:

FIFO、LRU以及OPT页面置换算法的示意图_第3张图片
第二种:

FIFO、LRU以及OPT页面置换算法的示意图_第4张图片

3、最佳置换算法(OPT)

选择在将来不被使用,或者在最远的将来才被使用的老页面,也就是选择该页面后面较远才出现,甚至不出现的页面,将其淘汰,即被替换。

第一种:
FIFO、LRU以及OPT页面置换算法的示意图_第5张图片
第二种:
FIFO、LRU以及OPT页面置换算法的示意图_第6张图片

一开始,我也搞不明白这两种表格有什么不同,还以为其中的一种是错的,后来才发现两种都是正确的,只不过略有不同。

区别:
第一种表格,例如数字2被替换出去,那么新进来的数字1 将被安排在刚刚被替换出去的数字2的原位置;
第二种表格,例如数字2被替换出去,那么新进来的数字1依旧始终被安排在最上面第一个内存块,即内存块a,后面内存块中的数字依次向下移动,数字2的空位置在移动过程中被占据。

你可能感兴趣的:(算法)