Linux内核必读五本书籍(强烈推荐)

《深入理解Linux内核》 推荐等级:5颗星


深入理解Linux内核

为了透彻理解Linux的工作机理,以及为何它在各种系统上能顺畅运行,你需要深入到内核的心脏。cPu与外部世界的所有交互活动都是由内核处理的,哪些程序会分享处理器的时间,以什么样的顺序来分享。内核不遗余力地管理有限的内存,以使数以千计的进程有效地共享系统资源。内核还精心组织数据传送,使得cPu不再受限于慢速硬盘。

《深入理解Linux内核》第三版将引领你畅游内核中用到的最主要数据结构、算法和编程技巧。如果你的确想了解计算机内部的实现机理,那么作者透过现象探寻本质,提供了颇有价值的深入分析。本书针对具体的Intel平台,讨论了其重要特征,逐行剖析了相关的代码片段。但是,本书涵盖的内容不仅仅局限于代码的机理,还解释了Linux运作方式的理论支撑。

本书第三版涵盖Linux2.6,从中可以看到几乎内核每个子系统都有相当大的变化,首当其冲的是内存管理和块设备部分。本书集中讨论了如下内容:

内存管理,包括文件缓冲、进程交换以及直接内存访问(DMA)

虚拟文件系统层和第二及第三扩展文件系统

进程创建及调度

  信号、中断及设备驱动程序的主要接口

  定时

  内核中的同步

  进程间通信(IPC)

  程序执行

  本书将使你熟悉Linux所有的内在工作机理,但本书不仅仅是一种学术演练。你将了解到什么条件会促使Linux产生*性能,你还会看到,Linux在各种环境下如何满足进程调度、文件访问及内存管理期间系统提出的快速响应要求。本书有助于你充分展现Linux系统的魅力。

简称ULK,相比于LKD的内容不够深入、覆盖面不广,ULK要深入全面得多。

《Linux内核设计与实现》  推荐等级:4颗星


Linux内核设计与实现

本书基于Linux2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。

本书主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。

同时本书也涵盖了Linux2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。本书采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。

简称LKD,内核新人首选必读的书籍。

《Linux设备驱动程序》  推荐等级:5颗星


Linux设备驱动程序

《Linux设备驱动程序 第3版(影印版)》是经典著作《Linux设备驱动程序》的第3版。如果希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。

简称LDD,驱动开发者必备。

《深入理解LINUX网络内幕》  推荐等级:4颗星

深入理解LINUX网络内幕

Linux如此的流行正是得益于它的特性丰富并有效的网络协议栈。如果你曾经惊叹于Linux能够实现如此复杂的工作,或者你只是想通过现实中的例子学习现代网络,《深入理解Linux网络内幕》将会给你指导。

  同其他O'Reilly的流行书籍一样,《深入理解Linux网络内幕》清楚地阐述了网络的基本概念,并指导你如何用C语言实现。虽然早先的TCP/IP经验是有用的,但初学者通过本书仍然可以学习到协议本身和大量的应用信息。一旦彻底掌握了这些网络工具,你就可以使用本书所附的代码,准确地指出Linux内核中最重要的部分如何工作。

  网络功能的实现或破坏在不同的时候是由不同的代码块完成的,这正是理解网络和实现它的难点中的一部分。本书的成功之一就是描述这些代码块如何集成,以及众多的函数和数据结构之间的关系。《深入理解Linux网络内幕》不仅描述了Linux网络的全貌,而且是理解Linux网络细节的有效指南。

一本讲解网络子系统实现的书,通过这本书,我们可以了解到Linux内核是如何实现复杂的网络功能的。

《深入理解Linux虚拟内存管理》  推荐等级:5颗星


深入理解Linux虚拟内存管理

这本书差点没找到图。有人觉得这本书一般,但是Lee哥觉得如果你希望深入的研究Linux的内存管理子系统,仔细的研读这本书无疑是最好的选择。

除了看书之外,还可以加上一定的视频来辅导学习。不仅需要动脑,也需要动手。

这里是26讲突进实战视频课推荐给大家(现在是一块钱,可以考虑一下):

Linux内核到项目实战26节精讲

推荐阅读更多精彩内容

  • 1. 硬链接和软连接区别 硬连接-------指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区...
    杰伦哎呦哎呦阅读 918评论 0 2
  • 首先来一张图说明GNU/Linux的基本的体系结构: 用户模式和内核模式 执行进程的模式有两种:用户模式和内核模式...
    Joe_HUST阅读 1,315评论 0 2
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 2,979评论 0 22
  • 文/tangsl(简书作者) 原文链接:http://www.jianshu.com/p/2b993a4b913e...
    西葫芦炒胖子阅读 2,207评论 0 5
  • 读经时间: 2017年8月20日 星期日 小雨 读经人员: 可可。 读经内容: 《易经》艮卦、震卦;《诗词启蒙》...
    161d968e601f阅读 70评论 0 0