^-^
Why so serious?
lec4 Page Table
  1. Page Table
    1. 课前准备
      1. Paging hardware
        1. Sv39 RISC-V
        2. translation 与 三级页表
        3. flags
        4. satp 寄存器
      2. Kernel address space
        1. QEMU 计算机
      3. Code: creating an address space
        1. pagetable_t
        2. walk:MMU
        3. mappages
        4. kvm & uvm
        5. copyout & copyin
      4. PM 分配
      5. Code: Physical memory allocator
        1. 分配器
        2. DRAM 数量
        3. 指针双重用途
      6. Process address space
        1. 范围
        2. 分配进程内存
        3. 进程 VM 特点
        4. initial stack 与 guard page
      7. Code: sbrk
      8. Code: exec
        1. /init program section header
      9. Real World
        1. 大 page 与 小 page
        2. 内存分配
    2. 地址空间:VM
      1. 隔离性
      2. 地址空间
    3. 页表
      1. 工作机制
      2. 地址大小
      3. xv6:三级页表
        1. 多级页表的优点
        2. 为什么要 walk 二次实现 MMU 的功能?
        3. 为什么硬件不开发类似于walk函数的接口?
      4. flag
      5. 为什么不把PPN放在一个va中?
      6. 页表:虚拟化机制
    4. TLB:页表缓存
      1. 缓存工作原理
        1. 为什么此处的缓存级别为PTE而非page?
      2. 切换进程:清空TLB
      3. 什么时候缓存?
    5. Kernel 页表
      1. 物理地址空间
        1. unmapped 物理内存:boot ROM
        2. 0x80000000之下:DRAM外的I/O设备
        3. 最上方的 Unused
      2. XV6 内核地址空间
        1. free memory
    6. xv6 的实现
      1. kvminit
        1. 分析
      2. kvminithart
      3. walk