有关内核的书籍可以用汗牛充栋来形容,不过只有一些精典的巨作经住了考验。首先是5本久经考验的巨作(个人概括为“2+1+2”,第一个2本全面讲解内核的书,中间的1本讲解驱动开发的书linux标准教程,旁边的2则指2本有关内核具体子系统的书linux内核书籍推荐,你是否想到了某甲广告里三个人忽然站起双臂齐举大喊“1比1”的场景?)。《Linux内核设计与实现》简称LKD,从入门开始,介绍了例如进程管理、系统调用、中断和中断处理程序、内核同步、时间管理、内存管理、地址空间、调试技术等方面,内容比较通俗易懂,个人觉得是内核新人首先必看的书籍。新人得有此书,足矣!《深入理解Linux内核》简称ULK,相比于LKD的内容不够深入、覆盖面不广,ULK要深入全面得多。上面这两本,一本提纲挈领,一本全面深入。《Linux设备驱动程序》简称LDD,驱动开发者都要人手一本了。《深入理解Linux虚拟显存管理》简称LVMM,是一本介绍Linux虚拟显存管理机制的书。假如你希望深入的研究Linux的显存管理子系统,仔细的通读这本书无疑是最好的选择。《深入理解LINUX网路黑幕》一本讲解网路子系统实现的书,通过这本书,我们可以了解到Linux本书各有注重,正如下边的图所展示的那样,正好代表了个人始终主张的内核学习方式:首先通过LKD或ULK了解内核的设计实现特性,对内核有个整体全局的认识和理解,之后可分为两个岔口,假如从事驱动开发,则钻研LDD,假如希望对内核不是泛泛而谈而是有更深入的理解,则可以选择一个自己感兴趣的子系统,仔细剖析它的代码,不懂的地方就通过社区、邮件列表或则直接发Email给maintainer讨教等途径读懂linux内核书籍推荐,请勿得过且过,这样剖析出来,对同步、中断等等内核的好多机制也同样会特别了解,老话说的一通则百通就是这个道理。其实,假如你选择研究的是显存管理或则网路,则可以有前面的两本书可以学习,倘若是其他子系统linux端口映射,可能就没有那么好的运气了。