实验七
核心作用
理解虚拟内存管理中页面置换算法的应用背景,掌握 FIFO(先进先出)、LRU(最近最久未使用)、LFU(最少使用) 三种经典置换算法的工作流程,通过模拟验证不同算法在相同访问序列下的缺页率和性能差异,理解 LiteOS-M 中内存模拟与任务调度的结合方式。
实验原理
虚拟内存中,当物理页帧不足时,需通过页面置换算法淘汰部分页面以调入新页面,实验通过 LiteOS-M 任务模拟页面访问行为,核心算法原理:
- FIFO:按页面进入物理内存的顺序淘汰,维护循环指针指向最早进入的页面,简单但可能出现 Belady 异常(页帧增加缺页率反而上升);
- LRU:淘汰最近最久未被访问的页面,通过时间戳记录页面最后访问时间,缺页时选择时间戳最小的页面淘汰;
- LFU:淘汰访问次数最少的页面,为每个页面维护访问计数器,命中时计数加 1,缺页时选择计数最小的页面淘汰。
实验通过创建独立内核任务模拟页面访问序列,利用 LOS_TaskDelay 实现访问间隔,通过串口日志输出命中(Hit)/ 缺页(Fault)信息,验证算法的置换逻辑,并实现内存使用率监控任务,模拟系统内存资源的动态监控。