分页(Paging)是操作系统实现虚拟内存管理的核心技术之一,通过将物理内存与逻辑地址空间分割为固定大小的块,解决程序地址空间与物理内存容量不匹配的问题。以下是关键知识点:

1. 分页原理

  • 逻辑地址:程序使用的虚拟地址(如 0x1000~`0x2000`)
  • 物理地址:实际内存中的地址(如 0x3000~`0x4000`)
  • 页表:记录逻辑页号与物理帧号的映射关系(🧠 重点)
  • 页大小:通常为 4KB/8KB/16KB(🛠️ 示例:PageSize=4KB
操作系统_分页机制

2. 分页作用

  • 实现内存保护(不同进程无法访问彼此的内存)
  • 支持非连续内存分配(打破物理内存连续限制)
  • 提升内存利用率(按需加载页面)
  • 简化地址转换过程(📖 点击了解页表结构

3. 分页实现步骤

  1. 程序访问逻辑地址 → 2. 页号 + 页内偏移 → 3. 查页表获取物理帧号 → 4. 访问物理地址

4. 常见算法

  • FIFO:先进先出(⚠️ 可能产生Belady异常)
  • LRU:最近最少使用(🧠 需硬件支持)
  • OPT:最优算法(理论模型,不可实现)
页面置换算法_LRU

5. 分页与虚拟内存

分页是虚拟内存技术的基础,通过页表实现逻辑地址到物理地址的映射,结合换页机制可扩展内存容量(📖 点击了解虚拟内存原理

📌 提示:分页机制在Linux内核中通过/proc/pagetypeinfo可查看详细页表信息