T45 二级页表 改进型 Clock 置换算法
T46_二级页表的作用
T46 ⚠️ 二级页表的作用
:::{note} 二级页表两种表示方式
10 位 10 位 12 位 页目录号 页表索引 页内偏移 一级页表 二级页表 物理地址 注意:一级页表在前面
:::
若页目录项和页表项大小都为 4B, 则
Link to original
- 每个进程
- 页目录占用:
- 页表占用
- 一个单独的页表:
- 所有页表占用的最大页数 (页目录的全部页表都装满):
- 总计:
- 使用二级页表的好处
- 对于使用较少内存的进程,只需分配 1 个页目录和少量页表,节省内存空间。
- 如果不使用二级页表,则每个进程都需要分配完整的页表( 个页表项,), 浪费大量内存。
T46_CLOCK_页面置换算法
T46 CLOCK 页面置换算法
Link to original
- 基于最近最久未使用原理,记录页面自从上次被访问以来所经历的时间。
- 淘汰时,选择最长时间未被访问的页面进行置换。
- CLOCK 算法:使用一个指针循环扫描页面,每次检查页面的访问位.
- 如果访问位为 1, 将其清零并继续扫描下一个页面。
- 如果访问位为 0, 选择该页面进行置换。
- 改进型 CLOCK 算法:引入修改位, 在选择页面进行置换时,优先选择修改位为 0 的页面,以减少写回磁盘的开销。
- 优先级顺序:未访问未修改>未访问已修改>已访问未修改>已访问已修改。
- 对于访问位和修改位只有一个为 1 的,优先淘汰修改位为 1 的页面。