大家好,讲到虚拟内存以及分页技术,就不得不提到操作原理中一个重要的概念,页面置换。
页面置换,简单理解就是操作系统通过某种算法将内存中空闲的页置换(淘汰)出去,将磁盘置换空间中的页置换回内存以完成从虚拟内存地址到物理内存的访问。
下面就来给大家总结一下几大常用的页面置换算法以及需要重点掌握的置换算法(有标注)
1、最佳页面置换算法(OPT 难以实现)
设计思路:置换以后不再需要的或最远的将来才会用到的页面
2、先进先出算法(FIFO 掌握)
设计思路:选择在内存中驻留最长的页并置换它
实现:页面链表法
3、第二次机会算法(SCR 了解)
按照先进先出算法选择某一页面,检查其访问位R,如果为0则置换该页面,如果为1,则给第二次机会,并将访问位置0
4、最近未使用算法(NRU Not Recently Used 了解)
选择在最近时间内未使用过的一页并置换
5、最近最少使用算法(LRU Least Recently Used 最重要)
选择最后一次访问时间距离当前时间最长的一页并置换,即置换使用时间最长的一页
性能接近OPT,缺点是需要使用时间戳或者维护一个访问页的栈
6、最不经常使用算法(NFU Not Frequently Used)
选择访问次数最少的页面置换,是LRU算法的一种软件实现
实现:软件计数器
(备战招聘)操作系统之页面置换算法概述
最新推荐文章于 2024-08-08 16:15:46 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)