图书介绍

庖丁解牛Linux内核分析pdf电子书版本下载

庖丁解牛Linux内核分析
  • 孟宁,娄嘉鹏,刘宇栋编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115491862
  • 出版时间:2018
  • 标注页数:179页
  • 文件大小:16MB
  • 文件页数:196页
  • 主题词: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.2 x86-32汇编基础 3

1.2.1 x86-32CPU的寄存器 4

1.2.2 数据格式 6

1.2.3 寻址方式和常用汇编指令 7

1.2.4 汇编代码范例解析 11

1.3 汇编一个简单的C语言程序并分析其汇编指令执行过程 13

1.4 单元测试题 26

1.5 实验 27

第2章 操作系统是如何工作的 29

2.1 函数调用堆栈 29

2.2 借助Linux内核部分源代码模拟存储程序计算机工作模型及时钟中断 32

2.2.1 内嵌汇编 32

2.2.2 虚拟一个x86的CPU硬件平台 34

2.3 在mykernel基础上构造一个简单的操作系统内核 36

2.3.1 代码范例 36

2.3.2 代码分析 42

2.4 单元测试题 48

2.5 实验 48

第3章 MenuOS的构造 50

3.1 Linux内核源代码简介 50

3.2 构造一个简单的Linux内核 56

3.3 跟踪调试Linux内核的启动过程 60

3.4 单元测试题 65

3.5 实验 66

第4章 系统调用的三层机制(上) 67

4.1 用户态、内核态和中断 67

4.2 系统调用概述 70

4.2.1 操作系统提供的API和系统调用的关系 70

4.2.2 触发系统调用及参数传递方式 71

4.3 使用库函数API和C代码中嵌入汇编代码触发同一个系统调用 72

4.3.1 使用库函数API触发一个系统调用 72

4.3.2 内嵌汇编语法简介 73

4.3.3 C代码中嵌入汇编代码触发一个系统调用 75

4.3.4 含两个参数的系统调用范例 76

4.3.5 通用的触发系统调用的库函数syscall 78

4.4 单元测试题 79

4.5 实验 80

第5章 系统调用的三层机制(下) 81

5.1 给MenuOS增加命令 81

5.2 使用gdb跟踪系统调用内核函数sys_time 83

5.3 系统调用在内核代码中的处理过程 85

5.3.1 中断向量0x80和system_call中断服务程序入口的关系 86

5.3.2 在system_call汇编代码中的系统调用内核处理函数 87

5.3.3 整体上理解系统调用的内核处理过程 88

5.4 单元测试题 91

5.5 实验 92

第6章 进程的描述和进程的创建 93

6.1 进程的描述 93

6.2 进程的创建 97

6.2.1 0号进程的初始化 98

6.2.2 内存管理相关代码 99

6.2.3 进程之间的父子、兄弟关系 100

6.2.4 保存进程上下文中CPU相关的一些状态信息的数据结构 101

6.2.5 进程的创建过程分析 103

6.3 单元测试题 120

第7章 可执行程序工作原理 122

7.1 ELF目标文件格式 122

7.1.1 ELF概述 122

7.1.2 ELF格式简介 123

7.1.3 相关操作指令 128

7.2 程序编译 129

7.2.1 预处理 129

7.2.2 编译 130

7.2.3 汇编 131

7.2.4 链接 133

7.3 链接与库 134

7.3.1 符号与符号解析 134

7.3.2 重定位 137

7.3.3 静态链接与动态链接 139

7.4 程序装载 143

7.4.1 程序装载概要 143

7.4.2 fork与execve内核处理过程 148

7.4.3 庄周梦蝶 153

7.4.4 小结 154

7.5 单元测试题 155

7.6 实验 156

第8章 进程的切换和系统的一般执行过程 158

8.1 进程调度的时机 158

8.1.1 硬中断与软中断 158

8.1.2 进程调度时机 159

8.2 调度策略与算法 161

8.2.1 进程的分类 161

8.2.2 调度策略 162

8.2.3 CFS调度算法 164

8.3 进程上下文切换 165

8.3.1 进程执行环境的切换 165

8.3.2 核心代码分析 167

8.4 Linux系统的运行过程 172

8.5 Linux系统构架与执行过程概览 174

8.5.1 Linux操作系统的构架 174

8.5.2 ls命令执行过程即涉及操作系统相关概念 175

8.6 进程调度相关源代码跟踪和分析 176

8.6.1 配置运行MenuOS系统 176

8.6.2 配置gdb远程调试和设置断点 177

8.6.3 使用gdb跟踪分析schedule()函数 177

8.7 单元测试题 179

精品推荐