万本电子书0元读

万本电子书0元读

顶部广告

深入Linux内核架构与底层原理电子书

解释透彻:深浅出地将Linux内核架构与底层原理和盘托出。 实践性强:对Linux内核形成了深刻、独到的理解。 指路明灯:将Linux内核架构与底层原理的精髓娓娓道来。 与时俱:在很多方面覆盖了Linux较新的功能,对从业者有较大帮助。

售       价:¥

纸质售价:¥70.30购买纸书

1059人正在读 | 3人评论 6.6

作       者:刘京洋,韩方

出  版  社:电子工业出版社

出版时间:2017-11-01

字       数:27.7万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(3条)
  • 读书简介
  • 目录
  • 累计评论(3条)
本书主要描述Linux系统的总体框架和设计思想,包含很多可以直操作的实例,目的是希望读者对Linux系统背后的逻辑有一个全面的了解。本书力求贴近实际的工作使用,在比较核心且常用的技术有更加深的解释,对实际使用Linux系统工作大有裨益。本书共13章,其中第1~3章是总览,第4~13章是分领域阐述。第1~3章总体介绍Linux的基本知识;第4章以Linux系统的启动始深叙述;第5章是Linux系统运行中使用者*常触到的程概念,重介绍程的原理;第6章是Linux内核的内存管理方法与用户端使用内存的底层方法,即重介绍glibc底层到内核之间的内存管理过程;第7~13章分别是关于安全机制、网络、总线与设备变动、二制、存储、虚拟化与云、硬件专用子系统的内容。这些子系统都是Linux系统运行中非常重要的领域,是深理解Linux系统原理不可或缺的知识补充。 本书主要描述Linux系统的总体框架和设计思想,包含很多可以直操作的实例,目的是希望读者对Linux系统背后的逻辑有一个全面的了解。本书力求贴近实际的工作使用,在比较核心且常用的技术有更加深的解释,对实际使用Linux系统工作大有裨益。本书共13章,其中第1~3章是总览,第4~13章是分领域阐述。第1~3章总体介绍Linux的基本知识;第4章以Linux系统的启动始深叙述;第5章是Linux系统运行中使用者*常触到的程概念,重介绍程的原理;第6章是Linux内核的内存管理方法与用户端使用内存的底层方法,即重介绍glibc底层到内核之间的内存管理过程;第7~13章分别是关于安全机制、网络、总线与设备变动、二制、存储、虚拟化与云、硬件专用子系统的内容。这些子系统都是Linux系统运行中非常重要的领域,是深理解Linux系统原理不可或缺的知识补充。
【推荐语】
解释透彻:深浅出地将Linux内核架构与底层原理和盘托出。 实践性强:对Linux内核形成了深刻、独到的理解。 指路明灯:将Linux内核架构与底层原理的精髓娓娓道来。 与时俱:在很多方面覆盖了Linux较新的功能,对从业者有较大帮助。
【作者】
    刘京洋,中山大学双学士、硕士,创建中山大学嵌式组,在嵌式实验室工作6年。工作早期担任创业公司总经理,投资公司总裁助理,后来专心技术,先后就职于TP-LINK、YY直播和网易游戏,从事内核和网络安全研发,对Linux系统底层有深的理解。联系QQ:575705195,很高兴与大家沟通探讨相关学术问题。 韩方,武汉大学研究生毕业,先后就职于华为和YY直播,具有多年安全领域的攻防对抗、安全体系建设和发经验,精通Linux内核发和应用发,申请过多项发明专利,多次参加国内外技术峰会并行分享。
目录展开

作者介绍

推荐序

前言

第1章 总览

1.1 简介

1.2 Linux学习曲线和职业曲线

1.2.1 给自己定级

1.2.2 使用者

1.2.3 开发者

1.3 如何形成一个内核

1.3.1 内核形成过程

1.3.2 Exokernels和Anykernel

1.3.3 内核为何使用C语言

第2章 内核架构

2.1 常见架构范式与核心系统

2.1.1 Linux内核上下层通信方式

2.1.2 横向系统和纵向系统

2.2 基础功能元素

2.2.1 模块支持

2.2.2 模块编程可以使用的内核组件

2.3 特殊硬件框架

2.4 特殊软件机制

第3章 内核数据结构

3.1 链表与哈希表

3.1.1 双向链表

3.1.2 hlist

3.1.3 ScatterList

3.1.4 llist

3.2 其他数据结构

3.2.1 树

3.2.2 FIFO文件

3.2.3 位数组bitmap

第4章 Linux系统的启动

4.1 启动的硬件支持

4.1.1 固件

4.1.2 磁盘分区管理

4.2 Bootloader和内核二进制

4.2.1 Bootloader

4.2.2 内核二进制

4.3 Linux的启动原理

4.3.1 Linux的最小系统制作和启动

4.3.2 initrd文件系统

4.3.3 EFI启动桩

4.3.4 启动管理程序

4.3.5 Linux内核启动顺序

第5章 进程

5.1 进程原理

5.1.1 服务与进程

5.1.2 资源与进程

5.1.3 进程概念

5.1.4 父子关系

5.1.5 ptrace系统调用

5.2 进程调度

5.2.1 调度策略

5.2.2 进程调度策略的配置

5.2.3 公平问题

5.2.4 内核线程的调度

5.3 资源

5.3.1 资源锁

5.3.2 资源限制

5.3.3 进程对系统内存的使用

5.4 多进程与进程通信

5.4.1 多进程模型

5.4.2 用户进程间通信

5.4.3 内核与用户空间的进程通信

5.4.4 Netlink功能模块

5.4.5 其他Netlink种类

5.4.6 genetlink的使用

5.4.7 inet_diag模块

5.4.8 RTNETLINK

第6章 Linux内核内存管理

6.1 内存模型

6.1.1 内存模型概览

6.1.2 内存组织方式

6.2 申请和释放内存

6.2.1 高端内存

6.2.2 设备内存映射

6.2.3 启动时内存的申请和释放:bootmem

6.2.4 Mempool

6.2.5 CMA(连续内存分配器)

6.2.6 伙伴算法

6.2.7 slab

6.2.8 用户端内存管理基础组件

6.3 内存组件

6.3.1 内存回收算法(PFRA)

6.3.2 其他内存功能组件

6.3.3 内存压缩

6.3.4 BDI(backing device info)

第7章 安全

7.1 概览

7.2 密码学

7.2.1 密码学概览

7.2.2 摘要

7.2.3 加密

7.2.4 认证

7.2.5 数字签名

7.2.6 秘钥交换

7.3 Linux用户和权限系统

7.3.1 系统启动时的权限

7.3.2 系统启动后的权限

7.3.3 内核中的用户和权限模型

7.3.4 Linux安全体系

7.4 网络安全

7.4.1 netfilter概览

7.4.2 Filter(LSF、BPF、eBPF)

7.5 函数调用的调试

7.6 内核调试

7.7 PAM和Apparmor

7.8 内核安全

7.9 常用安全工具和项目

第8章 网络

8.1 网络架构

8.2 socket

8.2.1 socket简介

8.2.2 类型与接口

8.2.3 Linux socket连接模型

8.3 IP

8.3.1 IP管理

8.3.2 IP隧道

8.4 TCP

8.4.1 TCP存在的原因

8.4.2 TCP的连接状态

8.4.3 TCP拥塞控制

8.4.4 TCP其他的功能特点

8.5 网络服务质量与安全性

8.5.1 TCP安全性

8.5.2 QoS

8.5.3 NAT

第9章 总线与设备变动

9.1 PCI

9.2 USB

9.2.1 USB概览

9.2.2 USB子系统上层(USB设备驱动层)

9.2.3 USB子系统的中层(USB core)和下层

9.2.4 Platform总线

9.3 用户空间的设备管理

9.3.1 设备变化通知用户端

9.3.2 设备类型

9.3.3 内核数据结构的面向用户组织KObject

第10章 二进制

10.1 函数调用

10.1.1 函数调用约定

10.1.2 栈结构

10.2 Linux的二进制兼容性问题

10.2.1 进程的执行

10.2.2 同操作系统下的ABI

10.2.3 内核版本

10.2.4 库

10.2.5 编译器

10.3 ELF文件执行原理

10.3.1 ELF文件分类

10.3.2 ELF文件格式

10.3.3 进程加载器

10.3.4 链接与执行

10.3.5 ELF文件的初始化

10.3.6 进程初始化前的加载

10.3.7 链接环境变量

10.3.8 内核加载ELF

10.3.9 Audit接口

10.3.10 一个简单的ELF解析程序

10.4 ELF的安全性

10.4.1 二进制修改

10.4.2 二进制格式的病毒和木马

10.4.3 二进制安全特性简介

第11章 存储

11.1 磁盘管理

11.2 存储协议

11.3 通用块层抽象

11.3.1 通用块层功能概览

11.3.2 数据完整性校验

11.3.3 设备抽象

11.3.4 BIO和bio_set

11.3.5 request

11.3.6 request_queue

11.3.7 电梯算法

11.4 缓存层

11.4.1 BDI:缓存设备

11.4.2 页回收

11.4.3 缓存机制

11.4.4 缓存页的状态

11.5 文件系统

11.5.1 文件系统的种类和选用

11.5.2 拥有特殊功能的文件系统

11.5.3 其他领域的文件系统

11.5.4 文件系统的意义

11.5.5 文件系统的抽象:VFS

11.5.6 ext4

11.6 存储系统

11.6.1 存储形式

11.6.2 存储格式

11.6.3 分布式存储系统

第12章 虚拟化与云

12.1 常见的虚拟化方案

12.2 虚拟文件系统

12.3 cgroup

12.4 Docker

第13章 硬件专用子系统

13.1 无线子系统

13.2 音频子系统

累计评论(3条) 3个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部