学完C语言之后,最终是要应用到某个领域的,比如后端开发,应用开发或者Linux内核开发等。本文将介绍一下Linux内核相关的内容,Linux内核开发是相对比较难的领域,主要是门槛相对较高。虽然门槛较高,但有它的好处,一方面是难度大,因此竞争力就高,另外一方面本操作系统内核的知识半衰期长,不需要频繁的学习新东西。因此,本号以为进行Linux内核开发是IT领域一个相对还可以的选择。但肯定不是最好的,Linux内核开发也有其缺点。
学习Linux内核开发应该本着由具体到抽象,有使用到深入理解的过程。我们在学习的过程中可以先学会基本的使用,然后在深入理解这个特性的底层实现原理。通过这种方式逐步提升能力。
Linux内核入门必读
这里推荐几本适合入门的Linux经典图书。首先必须推荐的是《Linux设备驱动程序》,目前最新的是第3版。这本书非常适合入门使用,它非常详细的介绍了内核接口及基本功能的使用,并且最大的特点是通过实例讲解,让你亲身感受如何进行内核开发。
另外一本值得推荐的是《Linux内核设计与实现》,虽然名称上来看好像是讲解具体实现的图书,但实际上有很大的篇幅讲解如何使用内核中的机制。比如多线程、自旋锁、信号量和后半部等等内容。书本身不想其它经典那样大部头,这本书是为数不多的比较薄,但内容有很详实的经典。
Linux内核深入理解
有了上面的基础,再配合一些实际的操练,相信对Linux内核编程会有不错的掌握。但Linux内核开发最大特点是内核各个模块间有一定的耦合,要写真正掌握Linux内核开发,必须熟悉内核中各个模块的实现。比如Linux内核中的文件系统,它与内存管理、页缓存和块设备等都有比较密切的联系,因此,如果想对某个领域精通,其它领域也有熟悉才行。下面本文介绍基本对Linux内核整体介绍比较详细的图书。
这本《深入Linux内核架构》是必须要读的经典中的经典,它深入浅出的介绍了Linux内核的各个子系统,从线程调度到内存管理,从磁盘到文件系统,基本上面面俱到。
下面这边也不同多说了,介绍的内容与上一本基本类似,可以作为上一本交叉参考。相信做内核开发的人没有不知道这本书的。
Linux内核完全精通
虽然上面的经典对Linux内核的方方面面进行了介绍,介绍的比较全面,但深度和细节相对欠缺。因为现在Linux内核有千万行代码,深入细节阅读根本不可能。如果想了解Linux内核和操作系统的最为原始的细节,一定要读一下下面这几本书。
赵炯老师的《Linux内核完全剖析》是非常不错的一本这方面的书,它以Linux 0.12版本为底本进行介绍,这个版本的Linux内核代码量不足万行,因此这本书几乎介绍了代码的每一行。虽然当前版本已经发生了翻天覆地的变化,但操作系统的本质并没有变化。熟悉这个版本的代码之后,再阅读最新版本的代码就会变得轻车熟路。
等你熟悉Linux操作系统的各种细节之后,可能有从头开发一个操作系统的冲动,这本书正好可以满足你的愿望。本书从开发环境开始,并以一个只有几百行的代码最为原型,带你逐步深入操作系统的开发。
下面这边也是一本类似的图书,从原理到实践,步步深入。
相信大家如果能够认真的阅读本号推荐的这些图书,并结合实践,一定能够在Linux内核领域有所建树。如果觉得有用请帮忙转发一下,让更多的人获得帮助。
如下是电子书的下载地址:
点击这里转到下载路径