首页
›
Linux内核与驱动
›
057-Linux内核内存管理
›
《ARM64 Linux页表管理与地址转换调试》
VIP10
本课程属于:057-Linux内核内存管理
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
ARM64 Linux页表管理与地址转换调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
ARM64地址转换全景图 · 为什么需要页表与TLB · 课程目标与前置知识
课程导论
ARM64
02
ARM64虚拟地址空间布局
用户空间与内核空间划分 · 地址空间大小(48位/52位) · 内核镜像映射区域
ARM64
虚拟地址空间布局
03
页表基础概念
页框(Page Frame) · 页表项(PTE) · 页表层级(L0/L1/L2/L3)
页表基础概念
Page
04
ARM64页表硬件架构
Translation Regime · TTBR0_EL1与TTBR1_EL… · ASID机制
ARM64
页表硬件架构
05
四级页表详解(L0)
L0页表基址 · L0页表项格式 · L0索引计算
L0
四级页表详解
06
四级页表详解(L1)
L1页表项格式 · 块映射(Block)与表映射(Tab… · L1索引计算
L1
四级页表详解
07
四级页表详解(L2)
L2页表项格式 · 大页(Contiguous)支持 · L2索引计算
L2
四级页表详解
08
四级页表详解(L3)
L3页表项格式 · 页面属性(AP/XN/PXN) · L3索引计算
L3
四级页表详解
09
页表项属性详解(上)
访问权限(AP[2:1]) · 可执行权限(XN/PXN) · 脏位与访问位(AF/DBM)
页表项属性详解
AP
10
页表项属性详解(下)
内存属性(MAIR) · 共享属性(SH) · 非安全位(NS)
页表项属性详解
MAIR
11
地址转换硬件流程
TLB查找→页表遍历→硬件页表Wal…
地址转换硬件流程
TLB
12
TLB结构详解
TLB条目格式 · 全相联与组相联 · 微TLB与主TLB
TLB
结构详解
13
TLB查找与命中逻辑
虚拟地址与ASID匹配 · 全局位(nG) · TLB命中/缺失处理
TLB
查找
14
TLB失效操作
TLBI指令集 · 按ASID失效 · 按VA失效
TLB
失效操作
15
Linux内核页表初始化
early页表 · fixmap页表 · swapper_pg_dir的建立
Linux
内核页表初始化
16
内核页表创建API
pud_populate/pmd_p… · set_pte/set_pmd/se…
API
内核页表创建
17
用户进程页表创建
fork时页表复制 · COW机制 · 缺页异常(do_page_fault…
用户进程页表创建
fork
18
缺页异常处理流程
ARM64缺页异常向量 · do_translation_fau… · do_page_fault
缺页异常处理流程
ARM64
19
大页与透明大页
ARM64的块映射(2MB/1GB) · 透明大页(THP)在内核中的实现
大页
透明大页
20
内存描述符与页表
mm_struct · pgd_t/p4d_t/pud_t/… · 页表锁
内存描述符
页表
21
TLB shootdown机制
跨CPU TLB失效 · flush_tlb_mm/flush… · IPI中断
TLB
shootdown
22
ASID与TLB管理
ASID分配算法(连续/位图) · ASID溢出处理 · TLB上下文切换
ASID
TLB
23
KASLR与页表随机化
内核地址空间布局随机化 · 页表基址随机化 · 对TLB的影响
KASLR
页表随机化
24
页表遍历(Page Table Walk)优化
硬件PTW与软件PTW · KPTI(内核页表隔离)
Page
Table
25
KPTI(内核页表隔离)原理
用户态与内核态页表分离 · 进入/退出内核时的页表切换
KPTI
内核页表隔离
26
虚拟化场景下的页表
Stage-1与Stage-2转换 · VTTBR_EL2 · VMID与ASID协同
虚拟化场景下的页…
Stage-1
27
SMMU与IOMMU页表
设备地址转换 · SMMU页表格式(与CPU页表异同) · PASID
SMMU
IOMMU
28
页表调试与观测
/proc/pid/pagemap · /proc/pid/smaps · crash工具分析页表
页表调试
观测
29
性能调优
TLB缺失率分析 · 大页配置 · perf工具测量TLB miss
性能调优
TLB
30
课程总结与展望
ARM64 MMU演进(FEAT_L… · 未来页表趋势 · 推荐阅读
课程总结
ARM64
所属VIP或分类
同VIP:ARM64-Linux缺页异常定位与处理延迟优化
同VIP:CMA连续内存分配:多媒体驱动与DMA内存配置
同VIP:Linux内存映射编程与内核栈溢出调试