页面置换算法

FIFO算法 先入先出,即淘汰最早调入的页面。

OPT(MIN)算法 选未来最远将使用的页淘汰,是一种最优的方案,可以证明缺页数最小。 可惜,MIN需要知道将来发生的事,只能在理论中存在,实际不可应用。

LRU(Least-Recently-Used)算法 用过去的历史预测将来,选最近最长时间没有使用的页淘汰(也称最近最少使用)。 LRU准确实现:计数器法,页码栈法。 由于代价较高,通常不使用准确实现,而是采用近似实现,例如Clock算法。

内存抖动现象: 页面的频繁更换,导致整个系统效率急剧下降,这个现象称为内存抖动(或颠簸)。抖动一般是内存分配算法不好,内存太小引或者程序的算法不佳引起的。

Belady现象: 对有的页面置换算法,页错误率可能会随着分配帧数增加而增加。 FIFO会产生Belady异常。 栈式算法无Belady异常,LRU,LFU(最不经常使用),OPT都属于栈式算法

上一篇:leetcode LRU缓存机制 中等


下一篇:Redis缓存淘汰算法——LRU、LFU