首页
›
Linux内核与驱动
›
129-Linux内核MMU
›
《x86_64 Linux内核MMU分页机制与CR3切换详解》
VIP10
本课程属于:129-Linux内核MMU
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
x86_64 Linux内核MMU分页机制与CR3切换详解
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
MMU概述
MMU在x86_64体系结构中的角色 · 虚拟地址到物理地址的映射原理 · 分页机制的基本概念
MMU
x86
02
x86_64分页模式
4级分页与5级分页的演进 · PML4/PDPT/PD/PT层级结… · 页表项格式详解
x86
64分页模式
03
CR3控制寄存器
CR3寄存器的位定义 · 物理地址基址(PML4基址) · CR3在进程切换中的作用
CR3
控制寄存器
04
页表项标志位
Present/RW/US/Acce…
页表项标志位
Present/RW/U…
05
4级分页地址转换
虚拟地址48位分解为PML4/PDP… · 硬件自动遍历页表
4级分页地址转换
PML4/PDP
06
5级分页地址转换
57位虚拟地址分解为PML5/PML… · LA57特性与CR4.LA57
5级分页地址转换
PML5/PML
07
页表缓存TLB
TLB的结构与工作原理 · TLB缺失处理 · 全局页与TLB刷新的关系
TLB
页表缓存
08
TLB刷新机制
INVLPG指令 · INVPCID指令 · CR3切换导致的TLB冲刷
TLB
刷新机制
09
大页(Huge Pages)
2MB大页与1GB大页的页表结构 · PS位的作用 · 透明大页(THP)机制
Huge
Pages
10
Linux内核页表初始化
startup_64阶段 · 早期页表建立 · fixmap与临时映射
Linux
内核页表初始化
11
内核页表管理
swapper_pg_dir · 内核映射区域划分 · 直接映射区(Direct Mappi…
内核页表管理
swapper
12
进程页表结构
每个进程独立的PML4 · fork时页表复制 · 写时复制(COW)对页表的影响
进程页表结构
PML4
13
CR3切换与进程上下文切换
switch_mm函数 · __switch_to中的CR3加载 · Lazy TLB模式
CR3
切换
14
PCID(进程上下文标识符)
PCID的位分配 · CR3.PCID字段 · 避免TLB完全冲刷的优化
PCID
进程上下文标识符
15
INVPCID指令
INVPCID的四种类型(单个地址/… · 内核使用场景
INVPCID
指令
16
KPTI(内核页表隔离)
Meltdown漏洞背景 · KPTI原理 · 用户态与内核态页表分离
KPTI
内核页表隔离
17
KPTI实现细节
kernel_page_table与… · Trampoline页表 · syscall/中断入口的CR3切换
KPTI
实现细节
18
页错误处理
do_page_fault路径 · 缺页异常分类(major/minor… · vm_area_struct查找
页错误处理
do
19
匿名页与文件页的缺页处理
do_anonymous_page · do_fault · swap缺页
匿名页
文件页的缺页处理
20
页表分配与释放
pgd_alloc/pud_allo… · 页表页的物理分配 · 页表缓存
页表分配
释放
21
页表遍历与修改
walk_page_range · ptep_set_wrprotect · set_pte_at
页表遍历
修改
22
内存热插拔与页表更新
内存热添加时的页表扩展 · mem_section与稀疏内存模型
内存热插拔
页表更新
23
NUMA与页表
NUMA节点感知的页表分配 · 页面迁移时的页表更新 · node-local分配策略
NUMA
页表
24
KSM(内核同页合并)与页表
KSM扫描合并匿名页 · 页表项指向相同物理页 · COW恢复
KSM
内核同页合并
25
HugeTLB与页表
HugeTLB文件系统 · 预留大页 · 页表项中的大页标志
HugeTLB
页表
26
页表调试与监控
/proc/pid/pagemap · /proc/pid/smaps · 页表转储工具
页表调试
监控
27
虚拟化中的MMU
EPT(扩展页表)与VPID · 嵌套分页 · KVM中的CR3切换模拟
MMU
虚拟化
28
SMMU与IOMMU
系统MMU与设备DMA重映射 · IOMMU页表格式 · 与CPU MMU的异同
SMMU
IOMMU
29
ARM64与x86_64 MMU对比
ARM64页表层级 · TTBR0/TTBR1与CR3对比 · TLB管理差异
ARM64
x86
30
MMU性能优化与未来趋势
5级分页在大内存场景下的优势 · MPK(内存保护密钥) · CXL内存扩展对MMU的挑战
MMU
性能优化
所属VIP或分类
同VIP:ARM-SMMU与Linux内核MMU设备地址空间隔离
同VIP:ARM-SMMU与内核页表隔离选型对比实践
同VIP:ARM64-Linux内核MMU页表机制与TLB缓存刷新