如何阅读 Linux 内核代码?
回答·18
最热
最新
- 入门时看的是,《LINUX 内核源代码情景分析 毛德操 胡希明著》书很厚实,开始肯定是云里雾里, 坚持读下来对各个模块的功能会有个大致的理解, 能读完上下册 估计也是真的感兴趣,不妨在跳重点读第二遍, 边看书边看最新的 kernel 代码,不要着急,肯定会收获不少
- 正在自学内核中,也同样困在这个阶段上,Quora 给的建议是从一个模块开始,先了解一些粗的逻辑,不往其他模块过多延展,由点及面慢慢深入。比如可以先从 slub 实现,proc 文件系统实现这样的点进去。我个人经验是老的 2.6 的书要看,看不懂没关系了解基础。然后代码上给自己提问题,并思考会有哪些问题,如何解决问题,然后再看内核是如何解决的,问题引导方式会让你看代码不会太烦躁,失去目标。一些好的辅助手段是比如绘制 entity relationship 图,看清数据结构关系,会大幅加深对模块理解,定目标并制定拆解计划,一个一个小目标完成,会帮助你更好坚持下去。最后就是长期坚持,迎难而上
- 先搞懂原理,再去读代码。除非你是开拓者可以反过来做
- 先把握每个子系统的整体框架,梳理好流程,多画图,然后再去深入原码,没有宏观很难了解内核代码是干啥的
- 为了阅读而阅读,没有什么意义。 除非有特别需求。 基本上,整体理解 linux 内核原理,了解 linux 的一些要点知识。
- 阅读 linux0.11 完全解析书籍,再结合 linux0.11 源码
- 1. 首先 C 语言练习熟练。 2. 借助内核机制和驱动相关书籍,案例式学习驱 动如何编写。 3. 理论结合实践,根据需要查看内核代码。 4. 推荐书籍: LDD3,Linux 内核设计与实现。 5. 最好再购买一块嵌入式开发板配合学习。
- www.kernel.org 下载 stable 版本源码。sourceinsight 查看源码。
- 先做内核开发,理解了内核 api,了解了内核各种概念,然后再去有目的读代码。linux 内核不仅有进程、内存相关的管理,更多的是海量的驱动和和各种与之配合的 api,每一个专门部分都是有生之年系列,不要想一口气全搞定,一定要有目的。
- 本人经验:螺旋上升式阅读