开发者

Linux内核页表及页表缓存原理

目录
  • 一、相关概念
  • 二、页表项
  • 三、页表缓存
  • 四、它们的关系

一、相关概念

【页】:进程中的块。

【页框】:内存中的块。

【页表】:特殊数据结构,存放系统python空间的页表区域(存放逻辑页与物理页帧的对应关系)。每个进程都有自己的页表,PCB 表中有指针指向页表js

二、页表项

(1)逻辑地址(页号,偏移量),逻辑地址就是虚拟地址。比如二级页表的页表项如下:

Linux内核页表及页表缓存原理

(2)物理地址(页框号,偏移量)。映射关系如下:

Linux内核页表及页表缓存原理

开发者_网络

三、页表缓存

【页表缓存】:CPU 内存管理单元(MMU),处理器制造厂商在内存管理单元中增加的一个高速缓存(称为页表缓存)。作用将虚拟地址转换成物理地址。

Linux内核页表及页表缓存原理

四、它们的关系

  1. 页表由多个页表项构成,页表中每一行为一个页表项。
  2. 页框号:专门用于存储虚拟页面对应的物理页面。
  3. 页表项由硬件设计。
  4. 页目录,为页表提供目录(二维结构),支持多级查找。当一个应用程序在CPU上运行时,需编程客栈要将页目录的起始地址放到寄存器中(因为虚拟地址的转换过程需要偏移量)。
  5. MMU的工作过程:CPU 获取虚拟地址–>MMU 查询页目录&nandroiddash;>MMU 查询页表–>MMU 获取页表项–&gphpt;MMU 获取到物理页面编号–>MMU 获取物理地址。
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新运维

运维排行榜