T45 二级页表 改进型 Clock 置换算法

T46_二级页表的作用

T46 ⚠️ 二级页表的作用

:::{note} 二级页表两种表示方式

10 位10 位12 位
页目录号页表索引页内偏移
一级页表二级页表物理地址

注意:一级页表在前面

:::

若页目录项和页表项大小都为 4B, 则

  • 每个进程
    • 页目录占用:
    • 页表占用
      • 一个单独的页表:
      • 所有页表占用的最大页数 (页目录的全部页表都装满):
    • 总计:
  • 使用二级页表的好处
    • 对于使用较少内存的进程,只需分配 1 个页目录和少量页表,节省内存空间。
    • 如果不使用二级页表,则每个进程都需要分配完整的页表( 个页表项,), 浪费大量内存。
Link to original

T46_CLOCK_页面置换算法

T46 CLOCK 页面置换算法

  • 基于最近最久未使用原理,记录页面自从上次被访问以来所经历的时间。
    • 淘汰时,选择最长时间未被访问的页面进行置换。
  • CLOCK 算法:使用一个指针循环扫描页面,每次检查页面的访问位.
    • 如果访问位为 1, 将其清零并继续扫描下一个页面。
    • 如果访问位为 0, 选择该页面进行置换。
  • 改进型 CLOCK 算法:引入修改位, 在选择页面进行置换时,优先选择修改位为 0 的页面,以减少写回磁盘的开销。
    • 优先级顺序:未访问未修改>未访问已修改>已访问未修改>已访问已修改。
    • 对于访问位和修改位只有一个为 1 的,优先淘汰修改位为 1 的页面。
Link to original