这门课在解决什么

很多人写 Linux 应用,习惯了调库、看文档、遇事百度,却不知道进程是怎么被调度起来的、内存地址从虚拟到物理经历了什么、一个系统调用从用户态陷入内核再返回,中间发生了哪些上下文切换。遇到性能瓶颈或稳定性问题,往往只能停在表层,无法定位根因。这门课的核心价值,是把"用 Linux"和"理解 Linux"之间的断层补上——让你真正看懂内核的行为逻辑,而不是只会在用户态写代码。

课程从汇编语法讲起,因为要读懂内核,必须先跨过架构层的第一道门槛;接着进入保护模式与内核体系结构,建立对内存管理、特权级、中断机制的整体认知;然后沿着开机流程,把 BIOS、引导加载程序、内核解压与初始化串成一条完整的启动链路。学完之后,你能独立解释系统启动全过程,能读懂关键的内核数据结构,能在看到 oops 或 panic 时快速判断是驱动问题、参数问题还是架构问题。

适合谁、建议先看哪几块

本课程更适合有 C 语言基础、了解基本命令行操作,并且愿意啃底层细节的读者。如果你从未写过 C,或只对应用层开发感兴趣,直接切入会非常吃力。前置知识不需要多深,但需要你对指针、内存布局、进程概念有一个直觉性的理解。

学习顺序上,建议把前四章当作主线优先看完:AT&T 汇编语法、保护模式、Linux 内核体系结构、引导启动程序。这四块构成了后续所有进阶内容的地基。汇编那一节不要跳,它是你理解内核里那些看似反直觉的指针操作的前提;保护模式是理解虚拟内存、段页式机制的关键入口;内核体系结构会帮你建立全局视图,知道代码分布在哪些层次;引导启动程序则把这些理论落回真实机器上发生了什么。

后续内容可以按实际工作需要择重学习,比如设备驱动、网络协议栈、文件系统实现等,不需要一次性全部消化。资料配套的视频讲解覆盖了主要章节,建议边看边对照内核源码阅读,而不是只看视频不跑代码。动手编译一次内核、改一个参数、观察启动行为,远比被动吸收更有效。

学完这门课,你应该能独立做这几件事:读懂一段内核启动日志,画出从加电到用户态 shell 出现的关键步骤;解释清楚虚拟地址如何映射、中断如何在内核里被分发;面对一个简单的内核崩溃报告,能定位到大致模块。如果能在练习中把这些能力固化下来,这门课就算没有白学。

课程目录

linux内核编程入门(第一部分) (第一章)at&t汇编语法格式.mp4
 (第二章)保护模式(第一节).mp4
 (第二章)保护模式(第二节).mp4
 (第三章)linux内核体系结构(第一节).mp4
 (第三章)linux内核体系结构(第三节).mp4
 (第三章)linux内核体系结构(第二节).mp4
 linux内核编程入门(第二部分_上) (第四章) 引导启动程序 (第一节).mp4
 (第四章) 引导启动程序 (第三节).mp4
 (第四章) 引导启动程序 (第二节).mp4
 (第四章) 引导启动程序 (第五节).mp4
 (第四章) 引导启动程序 (第四节).mp4
 linux内核编程入门(第二部分_中) (第四章) 引导启动程序 (第七节)1.mp4
 (第四章) 引导启动程序 (第七节)2.mp4
 (第四章) 引导启动程序 (第六节).mp4
 linux内核编程入门(第二部分_下) (第四章) 引导启动程序 (第八节) linux内核编程入门(第三部分_上) 第五章内核代码kernel第一节.mp4
 第五章内核代码kernel第三节1.mp4
 第五章内核代码kernel第三节2.mp4
 第五章内核代码kernel第二节.mp4
 第五章内核代码kernel第四节.mp4
 linux内核编程入门(第三部分_中) 第五章内核代码kernel第七节.mp4
 第五章内核代码kernel第五节.mp4
 第五章内核代码kernel第八节.mp4
 第五章内核代码kernel第六节.mp4
 linux内核编程入门(第四部分_上) 第七章字符设备驱动(第一节).mp4
 第七章字符设备驱动(第三节).mp4
 第七章字符设备驱动(第二节)1.mp4
 第七章字符设备驱动(第二节)2.mp4
 第七章字符设备驱动(第五节).mp4
 第七章字符设备驱动(第六节).mp4
 第七章字符设备驱动(第四节).mp4
 linux内核编程入门(第四部分_中) 第八章文件系统第一节.mp4
 第八章文件系统第七节.mp4
 第八章文件系统第三节.mp4
 第八章文件系统第九节.mp4
 第八章文件系统第二节.mp4
 第八章文件系统第五节.mp4
 第八章文件系统第八节.mp4
 第八章文件系统第六节.mp4
 第八章文件系统第四节.mp4
 linux内核编程入门(第四部分_下) 第九章内存管理.mp4
 linux内核编程(进阶篇完整打包版) linux内核编程(进阶篇)1.mp4
 linux内核编程(进阶篇)2.mp4
 linux内核编程(进阶篇)3.mp4
 linux内核编程(进阶篇)4.mp4
 linux内核编程(进阶篇)5.mp4
 linux内核编程(进阶篇)6.mp4
 linux内核编程(进阶篇)7.mp4
 linux内核编程(进阶篇)8.mp4
 linux内核编程(进阶篇)9.mp4
 linux内核编程(进阶篇)10.mp4
 linux内核编程(进阶篇)11.mp4
 linux内核编程(进阶篇)12.mp4
 linux内核编程(进阶篇)13.mp4
 linux内核编程(进阶篇)14.mp4
 linux内核编程(进阶篇)15.mp4
 linux内核编程(进阶篇)16.mp4
 linux内核编程(进阶篇)17.mp4
 linux内核编程(进阶篇)18.mp4
 linux内核编程(进阶篇)19.mp4
 linux内核编程(进阶篇)20.mp4
 linux内核编程(进阶篇)21.mp4
 linux内核编程(进阶篇)22.mp4
 linux内核编程(进阶篇)23.mp4
 linux内核编程(进阶篇)24.mp4
 linux内核编程(进阶篇)25.mp4
 linux内核编程(进阶篇)26.mp4
 linux内核编程(进阶篇)27.mp4
 linux内核编程(进阶篇)28.mp4
 linux内核编程(进阶篇)29.mp4
 linux系统编程录像 1.mp4
 2.1.mp4
 2.2.mp4
 2.3.mp4
 2.4.mp4
 2.5.mp4
 3.1.mp4
 3.2.mp4
 3.3.mp4
 3.4.mp4
 4.1.mp4
 4.2.mp4
 4.3.mp4
 5.1.mp4
 5.2.mp4
 6.mp4
 7.1.mp4
 7.2.mp4
 7.3.mp4
 7.4.mp4
 8.mp4
 9.mp4