断更新博客有一段时间了。入职两年了一家创业公司,那是真心的累,当然了获得了技术上很大的提升。搞了两年的vr产品,唯一遗憾的是,平台是ST单片机,远离了系统级别的知识。回看刚出校园时的三年计划,和第一年的辛勤付出。再看目前的成就,感觉有愧于自我。我们总是要先生存,然后再去谈发展。我要成为linux内核大牛。是的,开启我的旅程吧。
Linux 内核奔跑卷
第一章 处理器体系结构。简单的介绍ARM32 和ARM64结构中一些比较常见的问题。例如cache组织架构,cache一致性管理、页表访问、MMU、内存屏障等于体系结构相关的内容。
第二章 内存管理。包括物理内存初始化、内存分配、伙伴系统、slab分配器、malloc内存分配、mmap系统调用、缺页中断、匿名页的宿命、物理页面page结构、反向映射、页的迁移、KSM、DirtyCow、页面回收、内存管理数据结构框架等内容。
第三章进程管理。包括fork系统调用、CFS调度器、PELT算法改进、SMP负载均衡、HMP调度器、WALT算法、EAS绿色节能调度器等内容。
第四章 并发与同步。包括原子变量、spinlock、信号量、读写信号量、Mutex、RCU等内容。
第五章 中断管理。包括硬件中断处理、软中断、tasklet、workqueue等内容
第六章 内核调试。包括内核单步调试、ftrace使用、systemtap使用、内存检测、死锁检测、动态打印等技术
linux的git tree git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git reset v4.0 -hard
后续的时间里,我会一步一个脚印的把这些知识理解吃透