后宫佳丽到底有几千?------聊聊页面置换算法之FIFO LRU LFU

通过类比皇帝妃子的故事,深入浅出地解析了虚拟内存的工作原理,包括FIFO、LRU和LFU算法如何帮助系统在有限的物理内存中管理更大的虚拟内存空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先说枯燥的。 很多程序员甚至没有听说过虚拟内存这个概念,  情有可原, 因为虚拟内存机制虚拟得太好, 所以, 很多非计算机专业的人, 根本就没有感知到, 包括我。 虚拟内存号称能虚拟出比实际内存更多的内存, 这是扯淡吗? 如果不是, 它又是怎样做到的呢?

        先不说这些。

 

        在古代, 皇帝可谓一手遮天, 想要什么就有什么, 想和谁约会, 就跟谁约会。

        这天, 皇帝对礼部尚书说, 需要三千个妃子, 放在宫中, 便于自己与她们缠绵, 约会。 

        礼部尚书一头大汗, 紧张得不得了, 于是对皇帝说, 皇宫只有闺房一千, 每个闺房只能住一名妃子, 怎么也容纳不下三千妃子啊。

        皇帝说, 我不管, 如果达不到这个要求, 就是抗旨。 

        在计算机中, 也是如此, 命名需要3000的内存, 可惜内存只有1000, 怎么办?

        礼部尚书想了很多办法, 所以最后采取了三种策略, 满足了皇帝的要求:

        1.  FIFO算法:  最先进宫的妃子, 皇帝已经约会过了, 很久远了, 皇帝可能不会再约会了, 所以驱逐出宫, 换成新的漂亮妃子, 那么在皇帝看来, 就有了1001个妃子, 如此不断置换, 是可以达到3000个妃子的。 对皇帝来说, 目标达成。 而且, 请注意, 只用1000个房间哦。

       2. LRU算法:    从最近算起, 最长时间没有约会过的妃子, 淘汰掉, 并且从宫外引入新的。

       3. LFU算法:    在一定时间内, 约会次数最少的,  淘汰掉, 并且从宫外引入新的。

        那么, 皇帝布置的任务就这么完成了, 而且, 在皇帝看看, 自己确实拥有了3000个妃子。

        再对照计算机虚拟内存看看吧, 一切就不那么云里雾里的了。
--------------------- 
作者:stpeace 
来源:优快云 
原文:https://blog.youkuaiyun.com/stpeace/article/details/78145382 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值