由于对内存管理认识较浅 故通过试验重新巩固 并且 验证一下知识
我们知道虚拟地址ADDR_TO_PDE(0xc0000000)可以获得本进程页目录表的虚拟地址位置。
而MMU是根据cr3寄存器中的值来确定物理位置的,先验证下两者是否完全一致
这里的实验地址就是0xc000-0000
接着验证下0xc0000000的pte,其虚拟地址应该为(ULONG)ADDR_TO_PTE(0xc0000000) ,计算得出虚拟地址为c0300c00,其值就是虚拟地址0xc0000000的pt所在的物理地址
接着从MMU的角度思考下,先是读取dirbase,然后dirbase[pde_offset]的值即为pt的物理地址,由于我们这里正好选取的是0xc0000000,所以估计没错的话此时应该正好是177cb863。
结果确实如上图所示,看来进程的空间中确实留存着这样一份副本!