这门课解决什么问题

很多做后台开发或嵌入式的人,平时在命令行敲命令、写业务代码很顺,可一旦遇到内核 panic、驱动加载失败、或者线上性能突然掉底,就只能靠搜索拼凑答案,心里没底。这门课就是来补这个洞的:它不教你怎么用 Linux,而是拆开看 Linux 内核是怎么跑起来的,重点放在中断、异常、调度这些底层机制上。如果你正打算从应用开发往系统层、驱动层转,或者面试老被问到内核原理就卡壳,这门课的定位正好对口。

适合什么基础,建议先看哪几块

这课不适合纯零基础。你得先有 C 语言基础,能看懂指针和结构体,最好自己装过 Linux、用过命令行,否则一上来啃内核代码会非常吃力。资料按次序排了八次课的量,后面专门收口在中断与异常。我的建议是:如果时间紧,先看前几次课里讲内核启动和进程上下文的部分,把“用户态到内核态怎么切换”这件事弄明白;然后再直接跳到最后两块讲中断与异常的内容,因为这两块既是难点,也是后续看驱动、调试问题的骨架。中间没消化的细节,可以回头再补,不用死磕顺序。

学完能独立做什么,资料怎么配合练习

学完之后,你不会立刻变成内核黑客,但应该能独立做这几件事:看懂一段内核函数调用链,能说出中断发生时上下文是怎么保存和恢复的;遇到 oops 信息,能大致定位是哪一层的问题,而不是只会重启;写简单驱动或者改配置时,能判断自己的代码会不会在中断上下文里睡觉、会不会引发死锁。练习上,别只看视频和讲义,一定自己搭一台虚拟机,把内核源码拉下来,对着课程讲到的函数去翻、去加 printk 打印,再写个简单模块跑一下。这门课的价值在于让你建立系统层的判断力,光看不练很容易看完就忘,动手哪怕只改几行内核代码,理解也会扎实很多。


Linux操作系统分析

课程目录

*   Linux操作系统分析/

  *   第1次课

  *   第2次课

  *   第3次课

  *   第4次课

  *   第5次课

  *   第6次课

  *   第7次课

  *   第8次课

  *   9 Linux内核中断与异常

  *   10 Linux内核中断与异常