Linux内核页表及页表缓存原理
更新时间:2023年04月12日 14:01:35 作者:Lion Long
这篇文章主要介绍了Linux内核页表及Linux页表缓存原理,文章中又详细的图文介绍,感兴趣的小伙伴可以借鉴参考
一、相关概念
【页】:进程中的块。
【页框】:内存中的块。
【页表】:特殊数据结构,存放系统空间的页表区域(存放逻辑页与物理页帧的对应关系)。每个进程都有自己的页表,PCB 表中有指针指向页表。
二、页表项
(1)逻辑地址(页号,偏移量),逻辑地址就是虚拟地址。比如二级页表的页表项如下:

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

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

四、它们的关系
- 页表由多个页表项构成,页表中每一行为一个页表项。
- 页框号:专门用于存储虚拟页面对应的物理页面。
- 页表项由硬件设计。
- 页目录,为页表提供目录(二维结构),支持多级查找。当一个应用程序在CPU上运行时,需要将页目录的起始地址放到寄存器中(因为虚拟地址的转换过程需要偏移量)。
- MMU的工作过程:CPU 获取虚拟地址–>MMU 查询页目录–>MMU 查询页表–>MMU 获取页表项–>MMU 获取到物理页面编号–>MMU 获取物理地址。
相关文章
关于Linux本地虚拟机ping不通,未知的名称或服务已解决
在配置虚拟机网络时,首先需要在本地检查本机IP和网关,确保与虚拟机中的虚拟网卡设置一致,具体步骤包括使用cmd命令行工具通过ipconfig命令查看本机的IP地址和网关,确认虚拟网卡的IP地址在相同网段且网关设置正确2024-11-11
CentOS安装Python2.7与Python2.6并存的方法
这篇文章主要介绍了CentOS安装Python2.7与Python2.6并存的方法,非常具有实用价值,需要的朋友可以参考下2017-08-08
centos下yum搭建安装linux+apache+mysql+php环境的方法
这篇文章主要介绍了centos下yum搭建安装linux+apache+mysql+php环境的方法,本文分步骤给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下2016-10-10


最新评论