首页
›
Linux内核与驱动
›
037-Linux内核内存管理
›
《ARM64 Linux页表编程与地址转换调试》
VIP10
本课程属于:037-Linux内核内存管理
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
ARM64 Linux页表编程与地址转换调试
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
为什么需要页表?虚拟地址与物理地址的… · 页表在内存管理中的核心地位
课程导论
为什么需要页表?…
02
ARM64架构基础
AArch64运行模式 · 异常级别(EL0-EL3) · MMU使能流程
ARM64
架构基础
03
四级页表概述
Linux内核四级页表(PGD/P4…
四级页表概述
Linux
04
页表项格式
ARM64页表项(PTE)的位布局 · 包括属性位 · 权限位
页表项格式
ARM64
05
地址转换原理
虚拟地址如何被拆分为各级索引 · 通过硬件自动遍历页表找到物理地址
地址转换原理
虚拟地址如何被拆…
06
页表基址寄存器
TTBR0_EL1与TTBR1_EL… · 用户空间与内核空间页表切换
页表基址寄存器
TTBR0
07
页表缓存机制
TLB(Translation Lo… · TLB失效与维护指令
页表缓存机制
TLB
08
页表遍历硬件实现
ARM64硬件页表遍历器(Table…
页表遍历硬件实现
ARM64
09
Linux内核页表初始化
start_kernel中页表创建流… · early_fixmap与swapp…
Linux
内核页表初始化
10
固定映射页表
fixmap机制 · 用于早期内存映射与设备I/O映射
固定映射页表
fixmap
11
线性映射区域
内核直接映射区(PAGE_OFFSE…
线性映射区域
PAGE
12
vmalloc区域
vmalloc动态映射区的页表管理 · 非连续内存映射
vmalloc
区域
13
模块映射区域
内核模块加载时的页表创建与地址空间分…
模块映射区域
内核模块加载时的…
14
用户空间页表
进程创建时mm_struct与页表复…
用户空间页表
mm
15
缺页异常处理
do_page_fault流程 · 如何通过页表遍历定位缺页原因
缺页异常处理
do
16
匿名页与文件页
缺页时匿名页(匿名映射)与文件页(文…
匿名页
文件页
17
写时复制(COW)
fork后父子进程共享页表 · 写操作触发页表复制
COW
写时复制
18
大页与透明大页
ARM64的64KB/2MB/1GB… · 透明大页(THP)的页表处理
大页
透明大页
19
页表锁机制
页表自旋锁(page_table_l…
页表锁机制
page
20
页表遍历API
内核提供的页表遍历辅助函数(pgd_…
API
页表遍历
21
页表调试与跟踪
通过/proc/pid/pagema… · 使用page-types工具分析页表…
页表调试
跟踪
22
ARM64二级页表扩展
当使用64KB页时 · 四级页表退化为三级页表的硬件适配
ARM64
二级页表扩展
23
内核页表隔离(KPTI)
ARM64的KPTI实现 · 用户态与内核态页表切换以防御Melt…
KPTI
内核页表隔离
24
页表回收与碎片整理
内存规整(compaction)时页…
页表回收
碎片整理
25
IOMMU与SMMU
系统MMU的页表机制 · 与外设DMA地址映射的关系
IOMMU
SMMU
26
虚拟化场景页表
KVM中客户机页表(Stage-2页…
虚拟化场景页表
KVM
27
页表性能优化
多级页表缓存预取 · TLB预取指令 · ASID(地址空间标识符)机制
页表性能优化
多级页表缓存预取
28
页表错误处理
页表损坏检测 · 内核panic时的页表dump分析
页表错误处理
页表损坏检测
29
实战
手动遍历页表:编写内核模块 · 通过pgd_offset等函数手动遍…
手动遍历页表
编写内核模块
30
课程总结与展望
页表机制的未来发展 · CHERI架构与内存安全扩展对页表的…
课程总结
页表机制的未来发…
所属VIP或分类
同VIP:Linux-LRU页面回收分析与内存压力调优
同VIP:Linux内核内存管理与故障诊断调优
同VIP:Linux进程地址空间管理与内存映射调试