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

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

        先不说这些。

 

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

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

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

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


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


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

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

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

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


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

        再对照计算机虚拟内存看看吧, 一切就不那么云里雾里的了。




你可能感兴趣的:(s4:,计算机组成,s4:,操作系统,s4:,数据库)