Linux中有关分页机制的思维导图,包括分页机制的概念、分页结构
树图思维导图提供 分页机制思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 分页机制思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:36d8c663698ef61dd947d98d7dd5f403
分页机制思维导图思维导图模板大纲
在段机制之后进行,以完成线性—物理地址的转换过程
把逻辑地址转换为线性地址,分页机制进一步把该线性地址再转换为物理地址
两级页表结构
果把所有的页表项存储在一个表中,则该表最大将占 4M 字节连续的物理存储空间
第一级称为页目录,存储在一个 4K 字节的页面中
第二级称为页表,存储在一个 4K 字节的页面中
1K 个字节的表项,每个表项包含一个页的物理基地址
页目录项
第 31~12 位
20 位页表地址
于页表地址的低 12 位总为 0
高 20 位指出32 位页表地址
一个页目录最多包含 1024 个页表地址
第 0 位是存在位
P=1,表示页表地址指向的该页在内存中
P=0,表示不在内存中
第 1 、2位
第 1 位是读/写位
提供硬件保护
第 2 位是用户/管理员位
特权级为 3 的进程要想访问页面时,需要通过页保护检查
特权级为 0 的进程就可以绕过页保护
第 3 位是 PWT(Page Write-Through)位
表示是否采用写透方式,写透方式就是既写内存(RAM)也写高速缓存,该位为 1 表示采用写透方式
第 4 位是 PCD(Page Cache Disable)位
表示是否启用高速缓存,该位为 1 表示启用高速缓存
第 5 位是访问位
对页目录项进行访问时,A 位=1
第 7 位是 Page Size 标志
只适用于页目录项
如果置为 1,页目录项指的是 4MB 的页面,请看后面的扩展分页
第 9~11 位由操作系统专用
Linux 也没有做特殊之用
页面项
线性地址到物理地址的转换
第一步
CR3 包含着页目录的起始地址,用 32 位线性地址的最高 10 位 A31~A22 作为页目录的页目录项的索引,将它乘以 4,与 CR3 中的页目录的起始地址相加,形成相应页表的地址
第二步
从指定的地址中取出 32 位页目录项,它的低 12 位为 0,这 32 位是页表的起始地址
用 32 位线性地址中的 A21~A12 位作为页表中的页面的索引,将它乘以 4,与页表的起始地址相加,形成 32 位页面地址
第三步
将 A11~A0 作为相对于页面地址的偏移量,与 32 位页面地址相加,形成 32 位物理地址