基本信息
编辑推荐
解释透彻:深入浅出地将Linux内核架构与底层原理和盘托出。
实践性强:对Linux内核形成了深刻、独到的理解。
指路明灯:将Linux内核架构与底层原理的精髓娓娓道来。
与时俱进:在很多方面覆盖了Linux较新的功能,对从业者有较大帮助。
内容简介
计算机书籍
《深入Linux内核架构与底层原理》主要描述Linux系统的总体框架和设计思想,包含很多可以直接操作的实例,目的是希望读者对Linux系统背后的逻辑有一个全面的了解。《深入Linux内核架构与底层原理》力求贴近实际的工作使用,在比较核心且常用的技术点有更加深入的解释,对实际使用Linux系统工作大有裨益。
《深入Linux内核架构与底层原理》共13章,其中第1~3章是总览,第4~13章是分领域阐述。第1~3章总体介绍Linux的基本知识;第4章以Linux系统的启动开始深入叙述;第5章是Linux系统运行中使用者最常接触到的进程概念,重点介绍进程的原理;第6章是Linux内核的内存管理方法与用户端使用内存的底层方法,即重点介绍glibc底层到内核之间的内存管理过程;第7~13章分别是关于安全机制、网络、总线与设备变动、二进制、存储、虚拟化与云、硬件专用子系统的内容。这些子系统都是Linux系统运行中非常重要的领域,是深入理解Linux系统原理不可或缺的知识补充。
作译者
目录
1. 简介
2. Linux学习曲线和职业曲线
3. 如何形成一个内核
第二章 Linux内核架构
1. 常见架构范式与核心系统
2. 基础功能元素
3. 特殊硬件框架
4. 特殊软件机制
5. 系统调用
第三章 内核数据结构
1. 链表与哈希表
2. LRU
3. 树
4. 其他常见数据结构
第四章 Linux系统的启动
1. 启动的硬件支持
2. Bootloader和内核二进制
3. 启动原理
第五章 进程(重点)
前言
很多刚入行的程序员认为自己能够征服一切,稍微在网上检索一下Linux的内容,就可以上手使用了。虽然写出可以用的程序不需要太多的知识积累,但是这么做相当于在信息不充分的情况下做决策。虽然一切操作系统理论的学习都不如实际去编写几行代码,但是理论又是十分重要的,因为它能够让经验升华成积累。
本书解释了Linux内核提供了什么,以及Linux系统底层是如何使用内核的。如果你对本书某一部分感兴趣,那么在深入阅读该部分的代码之前应先对该内容进行系统的学习,当你对内核系统有一个整体的把握时,方可挥洒自如。
本书的读者对象是有一定Linux基础的程序员,或者是有一定经验的嵌入式开发人员和运维人员,阅读本书像喝水一样,可轻松获得知识内容。若阅读本书遇到相对冷门的技术细节时,有兴趣的读者可以自行查阅其他相关资料。例如当列举文件系统的种类时提到exofs,书中不会过多解释这个名词,因为大部分用户只关注它是文件系统的一种。
在学习Linux内核,阅读相关图书时候限定版本是不必要的,因为即使版本变化,原理仍旧可用。本书也会注明某个技术点之前是什么样的,现在是什么样的,未来可能是什么样的。人们更希望了解整个内核框架的内容,以及一些重要细节的深层原理。本书就将重点放在这两方面内容上,而并不局限于内核的版本,尽可能以最终被选择的解决方案作为实验重点。也就是说,本书所涉及的内核版本都比较新,但是也会观察从老版本到新版本过渡时内核在功能上的变化,比如ip rule命令在新版本中去掉了reject等action。但是老版本的设计对于整体理解架构很有帮助,我们的根本目的是用实现抽象出概念,本书讲解的所有案例几乎都使用了占据较大市场份额的Ubuntu。
感谢韩方,他对本书的出版起到了提纲挈领的作用,若没有他的帮助,我一定会被淹没在一堆技术细节中而不知道如何选择。他编写并且修改了部分章节,概览性质的图书最需要高屋建瓴的能力和丰富的经验,韩方在这方面非常强。
由于时间仓促,加之水平有限,书中的缺点和不足之处在所难免,敬请读者批评指正。
刘京详
2017年10月