图书介绍

Linux内核分析及应用PDF|Epub|txt|kindle电子书版本网盘下载

Linux内核分析及应用
  • 陈科编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111604082
  • 出版时间:2018
  • 标注页数:274页
  • 文件大小:28MB
  • 文件页数:289页
  • 主题词:Linux操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Linux内核分析及应用PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 进程与线程1

1.1 进程和线程的概念1

1.1.1 进程的历史1

1.1.2 线程的不同玩法3

1.2 Linux对进程和线程的实现5

1.2.1 Linux中的进程实现6

1.2.2 进程创建之后12

1.2.3 内核线程和进程的区别13

1.2.4 用户线程库pthread15

1.3 进程的调度16

1.3.1 进程调度机制的架构16

1.3.2 进程切换的原理19

1.3.3 调度中的CPU亲和度21

1.4 在应用程序中管理进程和线程22

1.4.1 Memcached线程池模型分析22

1.4.2 Nginx进程模型分析24

1.5 处理进程和线程的相关工具25

1.5.1 开发环境调试线程25

1.5.2 进程崩溃调试方法26

1.5.3 strace工具28

1.5.4 SystemTap工具29

1.5.5 DTrace工具30

1.6 本章小结32

第2章 并发33

2.1 什么是并发34

2.1.1 并发是如何产生的34

2.1.2 并发会带来什么问题34

2.1.3 如何解决并发带来的问题35

2.2 操作系统会在哪些场景遇到并发35

2.3 Linux中并发工具的实现37

2.3.1 原子变量37

2.3.2 自旋锁38

2.3.3 信号量42

2.3.4 互斥锁43

2.3.5 读写锁43

2.3.6 抢占44

2.3.7 per-cpu变量45

2.3.8 RCU机制48

2.3.9 内存屏障51

2.4 常见开源软件中的并发问题分析54

2.4.1 Nginx原子性54

2.4.2 Memcached中的互斥锁55

2.4.3 Redis无锁解决方案56

2.4.4 Linux中惊群问题分析57

2.4.5 解决MyCat同步问题65

2.4.6 false-sharing问题解决方案67

2.5 本章小结69

第3章 内存管理70

3.1 为什么需要内存管理71

3.2 MMU和地址空间73

3.2.1 虚拟地址、线性地址、物理地址73

3.2.2 MMU的内存管理机制74

3.3 Linux中的分段和分页机制79

3.3.1 分段机制79

3.3.2 分页机制80

3.4 Linux的内存管理82

3.4.1 物理内存管理83

3.4.2 进程地址空间管理86

3.5 Linux的内存分配和管理89

3.5.1 物理内存分配算法89

3.5.2 slab分配器95

3.5.3 内核态内存管理105

3.5.4 用户态内存申请109

3.6 栈内存分配和管理109

3.7 内存管理案例分析110

3.7.1 Memcached内存管理机制分析110

3.7.2 Redis内存管理机制分析113

3.8 本章小结115

第4章 中断机制116

4.1 x86系统的中断机制116

4.1.1 x86中断架构117

4.1.2 x86在保护模式下的中断117

4.2 Linux对中断的支持和实现119

4.2.1 初始化IRQ中断门120

4.2.2 中断响应流程120

4.2.3 中断回调handler注册过程122

4.3 Linux加速中断处理的机制122

4.3.1 软中断122

4.3.2 tasklet126

4.3.3 工作队列128

4.4 系统调用132

4.5 时钟中断134

4.6 信号处理机制135

4.7 Nginx信号处理机制139

4.8 本章小结141

第5章 输入输出142

5.1 I/O在Linux中的生命周期143

5.1.1 vfs层143

5.1.2 文件系统层144

5.1.3 Block层152

5.1.4 scsi层156

5.1.5 I/O流程总结157

5.2 I/O调度器159

5.3 多队列机制161

5.4 I/O多路复用实现163

5.5 Redis对epoll的封装170

5.6 Nginx文件异步I/O175

5.7 tail指令为何牛177

5.8 零拷贝技术应用分析179

5.8.1 mmap180

5.8.2 sendfile181

5.8.3 mmap和sendfile在开源软件中的使用183

5.9 本章小结186

第6章 文件系统187

6.1 Linux文件系统架构187

6.2 文件系统的主要功能189

6.2.1 文件系统的安装190

6.2.2 文件路径查找191

6.3 ext4文件系统201

6.3.1 磁盘布局201

6.3.2 inode定位203

6.3.3 碎片问题解决方案204

6.3.4 extenttree结构204

6.4 淘宝TFS小文件系统分析206

6.5 本章小结207

第7章 Linux的进程隔离技术与Docker容器208

7.1 虚拟化相关技术208

7.2 Linux进程隔离技术209

7 2 1 chroot209

7.2.2 namespace210

7.2.3 cgroup212

7.3 Docker容器的部分实现219

7.3.1 新版Docker架构220

7.3.2 containerd的实现221

7.4 本章小结241

第8章 Linux网络层数据流分析242

8.1 数据在网络层的流转242

8.1.1 sk buff结构243

8.1.2 数据流转过程244

8.2 socket接口层的实现248

8.2.1 socket系统初始化248

8.2.2 socket创建250

8.2.3 socket绑定251

8.2.4 socket监听253

8.2.5 socket接受连接254

8.2.6 新连接的到来257

8.2.7 socket整体流程259

8.3 netfilter和lvs260

8.3.1 netfilter260

8.3.2 lvs263

8.4 网络相关的一些参数265

8.4.1 Java socket相关的参数265

8.4.2 Linux TCP相关队列267

8.5 Nginx服务器监听socket初始化过程268

8.6 本章小结274

热门推荐