Linux内核开发进阶书籍推荐(不适合初学者)linux
很早以前就想写一篇文章总结一下Linux Kernel开发的相关资料,项目的缘由,再加上家里的一些事情,一直没能找到闲暇,今天终于有些时间,但愿能够完成这篇文章吧。首先须要说明的是否是全部的人都须要搞内核开发,由于据笔者了解,大部分的软件工程师的工做都在用户态开发,学习内核开发事倍功半,没什么实际意义,另外,初学编程的人也不太适合搞内核开发,由于信息量相对比较大,并且枯燥晦涩,很容易让初学者尚未入门,就已经放弃了,再有就是不想投入时间,老是试图走捷径的,内核开发可能也不适合你,由于必要的练习和资料学习多是必须的。git
那么咱们再来谈谈什么样的人可能须要学习Linux内核开发,编程
1. 从事相关的Linux Kernel开发工做,可能不得不学网络
2. 有无尽的好奇心,闲的蛋疼, 就想刨根问底学习
3. 想为开源社区作贡献spa
Linux kernel开发的资料确实都比较晦涩,并且通常来讲篇幅不短,通常来讲仅靠看书来学习是不够的,读书的同时最好能够git clone一份linux源代码,对照练习,事半功倍。个人推荐学习顺序是 LKD-> ULK->LDD->ULNI->ULVMM, 另外学完这些内核的实现,若是能够对照用户态的使用加以巩固学习,效果更佳,推荐LSP。LKD业内大牛robert love的扛鼎之做,篇幅不长,却对内核开发的重点内容提纲挈领,实属不易。接下来是ULK,经典中的经典,读起来稍显晦涩,每读一次,都有新的收获,虽然书有些老了,没有跟进最新的Linux版本,可是概念学习足矣,LDD实战性很强,适合边学边作,加深概念的理解,ULNI是Linux网络方面的专著,ULVMM是Linux虚拟内存方面的专著,相对于各自的专题都有更加深刻的剖析。至于LSP,也是出自于robert love,讲解细致到位,毫无拖沓之感,读起来十分舒服,顺畅。3d
总结blog
本文总结了Linux Kernel 开发进阶的6本书籍,笔者每本书都读过不止一遍,收获满满,体会颇多,但愿对你们有所帮助。内存