[操作系统]内存页面置换算法
用页面置换算法决定应该换出哪个页面
五种页面置换算法:
1)最佳置换算法(OPT)
2)先进先出算法(FIFO)
3)最近最少使用算法(LRU)
4)时钟置换算法(CLOCK)
5)改进型的时钟置换算法
最佳置换算法(OPT):
每次选择淘汰的页面将是以后永不使用,最长时间内不再被访问的页面,无法实现
先进先出算法(FIFO)
把调入内存的页面根据调入的先后顺序排成一个队列,换出时选择队头页面,最大长度取决于
系统为进程分配了多少个内存块,性能比较差
最近最少使用算法(LRU)
每次淘汰的页面是最近未使用的页面,用访问字段记录该页面上次被访问以来所经历的时间,
当需要淘汰一个页面的时候,选择页面中时间值最大的,需要专门的硬件支持,开销大
时钟置换算法(CLOCK)
内存中的页面通过链接指针,链接成一个循环队列,增加一个字段访问位字段,1表示访问过,0表示未访问过
循环遍历,如果是0就选择该页换出,如果是1就修改为0,最多会经过两轮扫描
改进型的时钟置换算法
增加一个是否修改过条件,如果为1就修改过,如果为0就没修改过
页面分配策略
驻留级:请求分页存储管理中给进程分配的物理块集合,一般小于进程的总大小
页面分配/置换策略:一般是可变分配全局置换,可变分配局部置换
调入页面的时机:根据局部性原理,一次调入若干相邻页面,主要用于进程的首次调入
从何处调页:对换区(连续分配方式)和文件区(离散分配)
抖动现象:极短时间换入换出,分配给进程的物理块不够
工作集:根据窗口尺寸算出进程实时访问的页面集合
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-01-03 [PHP] php作为websocket的客户端实时读取推送日志文件
2018-01-03 [日常] 2017年4月工作总结