页表

分页是通过使用 MMU 实现的。在x86上,MMU 通过一系列的表来映射内存。确切地说是两个表,分别为:分页目录(paging directory),简称PD分页表(paging table),简称PT

这两个表都包含 1024 个 4字节的条目,这使它们的大小各为4KB。在页目录中,每个条目都指向一个页表。而在页表中,每个条目都指向一个物理地址。通过计算页目录中的偏移量和页表中的偏移量,将物理地址映射到虚拟地址。

具体如下图:

当进程试图访问没有映射到物理内存的虚拟内存区域时、或者在只读页上进行写操作、或者权限不足等,均会导致页错误


参考链接: https://wiki.osdev.org/Paging

最后更新: 4/3/2020, 5:07:17 PM