
文章插图
- 最优算法在当前页面中置换最后要访问的页面 。不幸的是,没有办法来判定哪个页面是最后一个要访问的,因此实际上该算法不能使用 。然而,它可以作为衡量其他算法的标准 。
- NRU 算法根据 R 位和 M 位的状态将页面氛围四类 。从编号最小的类别中随机选择一个页面 。NRU 算法易于实现,但是性能不是很好 。存在更好的算法 。
- FIFO 会跟踪页面加载进入内存中的顺序,并把页面放入一个链表中 。有可能删除存在时间最长但是还在使用的页面,因此这个算法也不是一个很好的选择 。
- 第二次机会算法是对 FIFO 的一个修改,它会在删除页面之前检查这个页面是否仍在使用 。如果页面正在使用,就会进行保留 。这个改进大大提高了性能 。
- 时钟 算法是第二次机会算法的另外一种实现形式,时钟算法和第二次算法的性能差不多,但是会花费更少的时间来执行算法 。
- LRU 算法是一个非常优秀的算法,但是没有特殊的硬件(TLB)很难实现 。如果没有硬件,就不能使用 LRU 算法 。
- NFU 算法是一种近似于 LRU 的算法,它的性能不是非常好 。
- 老化 算法是一种更接近 LRU 算法的实现,并且可以更好的实现,因此是一个很好的选择
- 最后两种算法都使用了工作集算法 。工作集算法提供了合理的性能开销,但是它的实现比较复杂 。WSClock 是另外一种变体,它不仅能够提供良好的性能,而且可以高效地实现 。
【操作系统内存最全解析!!!】
推荐阅读
- 图解Java内存区域
- 分享几款Linux 下C/C++程序内存泄漏检查工具
- 建议收藏 全网最全的SQL语句
- 安卓平板|vivo发布OriginOS HD大屏操作系统:手机、平板、PC无缝协同
- 白茶萎凋,白茶萎凋适度特征
- centos操作系统上实现网卡端口绑定
- 微信太“吃”内存了!教你怎样快速清理微信垃圾,释放手机内存?
- 在常用Linux操作系统中安装VMware Tools
- 聊聊 Linux 的内存统计
- 一加|12GB内存!一加首款天玑8100新机现身GeekBench:或为一加Ace
