缺什么补什么:内核源码不是用来背的
很多做应用层开发或者测试运维的同学,平时写脚本调接口很顺,一旦遇到内核 panic、驱动加载失败、系统级死锁,就只能靠重启和搜帖子硬扛。这门课解决的就是底层机制看不懂、改不动的问题。它要求你已经有 C 语言基础,能看懂指针和结构体,最好在虚拟机里装过 Linux 并且编译过普通程序。如果连 gcc 命令都没敲过,建议先补基础操作再来看,否则讲到内核数据结构和同步原语时会完全跟不上。资料里带有答疑视频和作业文本,说明这门课原本就有强制的动手环节,不是光听就能过。
建议先看哪几块:从模块起步再到同步与内存
不要从头按顺序硬啃,建议先把内核模块编译和加载这块吃透,这是所有后续实战的入口。理解了模块的编写、编译和签名机制,你才能动手验证后面的概念。接着重点看内核同步部分,这是最容易出 bug 的地方:先区分清楚中断、软中断、抢占等上下文环境,明确原子上下文和可睡眠环境的界限,然后对照自旋锁、信号量、互斥量、读写信号量的代码示例自己敲一遍。RCU 和 SRCU 这部分比较难,看不懂可以先跳过,等内存管理那块讲完再回头啃。内存管理从页分配器到内存映射是核心,进程管理和中断子系统放在最后看,因为它们依赖前面的同步和内存基础。资料包里的源代码一定要边看边对照内核源码树,不要只看视频里的截图。
学完能独立做什么:能定位能改写能交差
学完这门课,你应该能独立写一个可编译加载的内核模块,能根据上下文类型选择正确的同步机制,不至于在原子上下文里误用可睡眠锁导致死锁。面对内核日志里的调用栈,你能大致判断是内存分配失败、锁竞争还是中断处理出了问题。资料配合练习的方法很简单:每看完一个锁的示例,立刻在虚拟机里写代码触发场景,用内核日志观察行为;作业文本里的题目要老老实实做完,别只看答案。最后问自己几个问题:自旋锁和信号量到底什么时候用哪个?RCU 为什么能提高读性能?页分配器分配内存失败时内核会怎么处理?答得上来才算补上这块缺口,答不上来就回去重看对应章节,别假装会了。
课程目录
课时7:1-5课时.mkv [239.0 MB] 课时8:Writeamodule(续.mkv [122.5 MB] 课时9:Modulesigning.mkv [49.5 MB] 课时6:Writeamodule.mkv [81.5 MB] 课时5:Complieamodule.mkv [71.0 MB] 课时39:timekeeping.mkv [55.5 MB] 课时40:itimer.mkv [26.0 MB] 课时38:中断子系统.mkv [42.5 MB] 课时36:进程管理.mkv [73.0 MB] 课时37:中断异常处理.mkv [52.0 MB] 课时35:内存映射续.mkv [54.5 MB] 课时34:Page分配器与内存映射.mkv [51.5 MB] 课时33:Linux内核答疑20140417.mkv [86.5 MB] 课时33:Linux内核答疑20140417(1.mkv [86.5 MB] 课时32:Linux内核答疑20140410.mkv [141.0 MB] 课时31:第五周答疑.mkv [84.0 MB] 课时29:内存管理.mkv [82.0 MB] 课时30:内存管理-续.mkv [52.5 MB] 课时26:内核中的基本数据结构.mkv [50.5 MB] 课时24:内存屏障.mkv [44.5 MB] 课时23:原子操作.mkv [69.0 MB] 课时22:可睡眠锁:SRCUsleepable_read-copy-update.mkv [91.0 MB] 课时21:可睡眠锁:完成变量completion.mkv [43.0 MB] 课时4:ModuleandWhat'smodule.mkv [3.0 MB] 课时20:可睡眠锁:读写信号量rwsem.mkv [24.0 MB] 课时3:第一周课程介绍.mkv [5.5 MB] 课时1:免费试听.mkv [29.5 MB] 课时19:可睡眠锁:信号量semaphore.mkv [19.0 MB] 课时18:可睡眠锁-互斥量mutex.mkv [20.5 MB] 课时15:第一周答疑视频.mkv [227.5 MB] 课时17:不可睡眠锁:RCUread-copy-update.mkv [113.0 MB] 课时16:不可睡眠锁:自旋锁spinlock编码示例.mkv [147.0 MB] 课时13:内核同步.mkv [19.0 MB] 课时10:上下文:IRQSoftIRQ.mkv [25.5 MB] 课时12:上下文:原子上下文和可睡眠环境.mkv [33.5 MB] 课时11:上下文:抢占.mkv [21.5 MB] 课时2:付费学员服务指引.txt 课时28:第二份作业.txt [132.0 B] 课时27:课程中用到的源代码.txt [38.0 B] 开源力量 Linux内核源码深度解析与开发实战(完结无密)资料.png [493.5 KB] 课时25:2014.3.27文字答疑.txt 课时14:第一份作业.txt [695.0 B]






