klinux

linux 内核技术文档: klinux document

本文档记录有关操作系统内核的技术细节

写在前面

开始之前, 希望大家可以读一下陈硕写的 如何阅读 linux 内核代码

阅读内核代码的主要有三种人: reader writer和hacker, 对不同的人有不同的含义,学习方法、侧重点、投入的精力也大不相同

内核的接口稳定,但具体实现变化快, 而且比较注重代码的通用性和复用性,要照顾那些虽然你用不到但少数人会用的需求(比如numa), 原本简单直接的做法上增加间接层, 反而加大了理解代码的负担, 很多时候函数指针回调函数传来传去, 没有 debugger 很难看清楚怎么调用的, 而且 kernel 加了 O2 优化 debugger 还不太好使

如果你本身就要从事内核开发,那么以上这些都不是问题.对于这用户态写server的人,学内核的目的是什么,学到的知识能不能/要不要/如何用到日常开发中,这是值得思考的.

逢人就推荐阅读 Linux 内核源码, 我并不赞成, 希望读者在阅读本项目其他文章之前了解自己需要什么

参考

zood