【操作系统】聊聊页面置换算法

操作系统的缓存淘汰

操作系统一是提供的基础编程接口,二是实现软件治理的功能。但是因为内存是有限的,想要在有限的内存多存储数据,就利用段、页、段页方式进行数据的映射。但是内存存储有限,所以如何将内存中不用的数据进行及时置换。选择什么样的置换策略。

我们知道缓存命中率 其实就是从缓存中查的次数/一共查询数据的次数。缓冲命中率越高,整体的利用率就越高,计算时间越短。

随机页面置换算法

随机置换,其实就是当发生缺页中断的时候,随机进行选取一个页置换,这种方式比较简单,但是对于命中率来说没有什么提升。所以一般不建议。

最优页面置换算法

从名字上来看,其实就是替换内存中最久没有访问的那个页面。比如首先进入7 0 1 ,当进入2的时候,因为7是之前最久没有被访问的页,所以替换7,而加载2。
【操作系统】聊聊页面置换算法_第1张图片
这个算法缺点就是只能通过计算历史访问的次数,没有办法做到之后访问那些页。

FIFO算法

【操作系统】聊聊页面置换算法_第2张图片
FIFO其实就是队列,先进来的,先出去,但是这不是一个很好的策略。

LRU算法

【操作系统】聊聊页面置换算法_第3张图片
LRU则是通过最近最少使用的算法,来判断每个页最近使用的次数进行淘汰,在Redis中,其实也是使用LRU算法。

总结

【操作系统】聊聊页面置换算法_第4张图片

你可能感兴趣的:(#,操作系统,操作系统)