发表于2024-11-23
深入Linux内核架构与底层原理 pdf epub mobi txt 电子书 下载
解释透彻:深入浅出地将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系统原理不可或缺的知识补充。
刘京洋,中山大学双学士、硕士,创建中山大学嵌入式组,在嵌入式实验室工作6年。工作早期担任创业公司总经理,投资公司总裁助理,后来专心技术,先后就职于TP-LINK、YY直播和网易游戏,从事内核和网络安全研发,对Linux系统底层有深入的理解。很高兴与大家沟通探讨相关学术问题。
韩方,武汉大学研究生毕业,先后就职于华为和YY直播,具有多年安全领域的攻防对抗、安全体系建设和开发经验,精通Linux内核开发和应用开发,申请过多项发明专利,多次参加国内外技术峰会并进行分享。
第一章 linux总览
1. 简介
2. Linux学习曲线和职业曲线
3. 如何形成一个内核
第二章 Linux内核架构
1. 常见架构范式与核心系统
2. 基础功能元素
3. 特殊硬件框架
4. 特殊软件机制
5. 系统调用
第三章 内核数据结构
1. 链表与哈希表
2. LRU
3. 树
4. 其他常见数据结构
第四章 Linux系统的启动
1. 启动的硬件支持
2. Bootloader和内核二进制
3. 启动原理
第五章 进程(重点)
1. 进程原理
2. 进程调度
3. 资源锁
4. 多进程与进程通信
5. 进程对资源的使用
第六章 内存管理(重点)
1. 内存的组织方式
2. 内核内存的申请和释放
3. 内核页面回收算法(PFRA)
4. 内核内存压缩技术
5. 其他内核内存基础服务
6. 用户端对内核内存管理系统的调整
7. 用户端进程的内存管理
8. 相关系统调用和API
第七章 安全
1. Linux安全体系概览
2. 安全的核心:加密与机制
3. Linux用户和权限系统
4. 分布于其他功能模块的安全机制
第八章 网络(重点)
1. Linux内核支持的网络特性概览
2. Linux网络架构与socket模型
3. IP实现架构
4. IP路由系统
5. TCP子系统
6. Filter子系统
7. 网络服务质量
第九章 总线
1. PCI
2. USB
3. Platform
第十章 二进制(重点)
1. 函数调用
2. 二进制的兼容性
3. ELF文件的执行原理
4. ELF安全性
第十一章 存储(重点)
1. 磁盘管理
2. 存储协议:linux下SCSI子系统架构
3. 通用块抽象层
4. 缓存层
5. 文件系统层
6. 分布式存储
7. 常用存储管理高级命令
第十二章 虚拟化与云
1. 常见虚拟化方案
2. 分布式文件系统
3. 虚拟化专用文件系统
4. Docker
第十三章 其他重要模块与高级管理工具
1. 内核到用户空间设备管理
2. 内核调试
3. 专用子系统
要想深入研究并使用Linux内核,首先要知道Linux内核提供了什么,又能做到什么。很多初学者一进入公司就开始使用Linux内核开发内核模块,无论是使用通信方式、内存接口还是设备接口,都是早已被淘汰的内容。因为他们通常直接在网络上搜索一些很早之前发布的内容来指导自己如何完成开发工作,但他们手中却是最先进的内核代码。还有很多直接编写内核模块的人在嵌入式公司使用老版本的内核进行工作,虽然他们可能对内核之后的发展一无所知,但是他们能够一下子抓住主干,主干永远是在老版本的内核中就存在的东西。
很多刚入行的程序员认为自己能够征服一切,稍微在网上检索一下Linux的内容,就可以上手使用了。虽然写出可以用的程序不需要太多的知识积累,但是这么做相当于在信息不充分的情况下做决策。虽然一切操作系统理论的学习都不如实际去编写几行代码,但是理论又是十分重要的,因为它能够让经验升华成积累。
本书解释了Linux内核提供了什么,以及Linux系统底层是如何使用内核的。如果你对本书某一部分感兴趣,那么在深入阅读该部分的代码之前应先对该内容进行系统的学习,当你对内核系统有一个整体的把握时,方可挥洒自如。
本书的读者对象是有一定Linux基础的程序员,或者是有一定经验的嵌入式开发人员和运维人员,阅读本书像喝水一样,可轻松获得知识内容。若阅读本书遇到相对冷门的技术细节时,有兴趣的读者可以自行查阅其他相关资料。例如当列举文件系统的种类时提到exofs,书中不会过多解释这个名词,因为大部分用户只关注它是文件系统的一种。
在学习Linux内核,阅读相关图书时候限定版本是不必要的,因为即使版本变化,原理仍旧可用。本书也会注明某个技术点之前是什么样的,现在是什么样的,未来可能是什么样的。人们更希望了解整个内核框架的内容,以及一些重要细节的深层原理。本书就将重点放在这两方面内容上,而并不局限于内核的版本,尽可能以最终被选择的解决方案作为实验重点。也就是说,本书所涉及的内核版本都比较新,但是也会观察从老版本到新版本过渡时内核在功能上的变化,比如ip rule命令在新版本中去掉了reject等action。但是老版本的设计对于整体理解架构很有帮助,我们的根本目的是用实现抽象出概念,本书讲解的所有案例几乎都使用了占据较大市场份额的Ubuntu。
感谢韩方,他对本书的出版起到了提纲挈领的作用,若没有他的帮助,我一定会被淹没在一堆技术细节中而不知道如何选择。他编写并且修改了部分章节,概览性质的图书最需要高屋建瓴的能力和丰富的经验,韩方在这方面非常强。
由于时间仓促,加之水平有限,书中的缺点和不足之处在所难免,敬请读者批评指正。
刘京详
2017年10月
哈哈哈哈哈哈哈哈哈叫斤斤计较哈哈哈哈叫江河湖海
评分对内核了解得不够深入,买来好好学学
评分好好好好好好好好好好好好好好好好好好好好好好好好好好
评分书的质量很好,当资料看很好。
评分主要看一些底层的东西,比较合适
评分大家都觉得好的都会得到实实在在做
评分此用户未填写评价内容
评分不错的书…正好可以学习一下…
评分比较基础。内容不及老外的
深入Linux内核架构与底层原理 pdf epub mobi txt 电子书 下载