本课程从基本的概念入手,由浅入深、循序渐进的去剖析Linux内核在ARM64处理器架构上是如何管理页表的,自此我们来到内核的虚拟内存管理的核心部分——页表管理。
从页表的遍历到TLB的原理再到ASID的机制等章节,我们主要从原理的角度去分析页表管理相关组件原理;而在内核页表创建和用户进程页表创建等章节,我们又分析了相关的内核源代码。我们不仅可以从源代码的角度探究各个阶段页表的创建过程,而且可以看到它具体的使用过程,进一步来理解内核如何通过页表来隔离各个进程地址空间。
只有真正搞清楚了页表的相关原理,我们才能真正的理解内存管理,才可以站在更高的视角去俯瞰虚拟内存,而此时看懂虚拟内存相关的源代码已不再困难!
Cheetah老师就职于某半导体公司,他曾为U-boot社区和Linux内核社区提交过若干补丁,主要从事Linux相关系统软件开发工作,负责Soc芯片BringUp及系统软件开发,喜欢阅读内核源代码,在不断的学习和工作中深入理解内存管理,进程调度,文件系统,设备驱动等内核子系统。
1.概述
2.arm64页表结构
3.页表遍历过程
4.TLB原理和操作
5.ASID机制
6.Linux内核页表操作相关定义
7.启动阶段早期的页表创建
8.fixmap映射
9.主内核页表创建
10.用户进程页表创建
11.ioremap原理
12.实践
深入理解页表技术
各阶段页表建立源代码分析
全面、深入解读运作机理
了解mmu的一些概念
掌握arm64页表结构
掌握页表遍历过程
掌握ASID机制原理
掌握TLB原理和操作
理解内核页表和用户进程页表建立过程
会分析页表遍历相关内核源代码
6.5小时