终于对Linux Kernel有了点认识


Linux Kernel ,在我坚持不懈地努力下终于有了松动的迹象

以前总以为要看懂Linux Kernel ,就必须花上好几年时间,去把 Understanding Linux Kernel这样的大部头书看完三本才能有点头绪。需要花费3年以上的苦功才能看懂大概,其实也没有这么夸张。现在的心情肯定是很多大牛都曾经经历过的一个阶段,离真得读懂Linux内核也许还差得远,不过我现在总算是撬了一条缝出来,还是很激动。

只要有 操作系统、 数据结构、 C语言、 汇编语言(80x86即可,现在才发现汇编语言才是真叫多,一种cpu就是一种汇编语言,差别还挺大,几乎要重学一半的知识) 再来点微机原理与接口之类的硬件知识,就能对付着看简单的Linux 内核的书了。

电子工业的 Linux内核分析及高级编程

机械工业出版社 Linux内核编程

这两本书不算厚,但是让我有了看懂Linux内核的希望

看那个深入理解LINUX内核(第三版) 只会让人望而却步,不知所以

现在在看 LInux内核进程调度, Linux内核分析及高级编程,没有吓唬人的废话,直奔主题,

分析task_struct 结构体,介绍其中重要的数据成员,还有组织task_struct 的 find_task_pid() 和

for_each_task(),不过是前者是哈希表,后者是双向链表遍历,Linux内核也没有使用什么高深莫测的编程

技术。不像那个国际混乱C语言大赛。

只不过由于Linux内核过于庞大,数据结构实在太繁杂,内核定义的函数也实在太多,让人就是看一

小段,总会一句都看不懂。要么是某个数据成员不知是出自哪里,要么是调用的那个系统函数不知是什么作用,但是C语言的各种用法,大多还是见过的。

真是受不了 o'reilly 坚果系列了,不知是翻译,还是文化差异,读起来总是很别扭。

还是中国人写的东西读起来舒服。

现在就读

电子工业的 Linux内核分析及高级编程

机械工业出版社 Linux内核编程

虽然两本书都太薄了,但是我能读懂,直接把2.6内核的主要内容剥出来摆在读者面前,我觉得比那些大部头的不知所云的废话书好多了。

大家学Linux内核也别图简单去学0.11版的了,直接上2.6版的,难度也不见得增加多少,一步到位。学了早期版本,反而要记更多的改变,还不如不学早期版本。

相关内容