图书介绍
LINUX内核分析及高级编程PDF|Epub|txt|kindle电子书版本网盘下载
![LINUX内核分析及高级编程](https://www.shukui.net/cover/61/31701136.jpg)
- 吴国伟,李张,任广臣编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121052446
- 出版时间:2008
- 标注页数:269页
- 文件大小:16MB
- 文件页数:282页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
LINUX内核分析及高级编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Linux内核简介1
1.1 Linux简介1
1.1.1 Linux发展历史1
1.1.2 常见的Linux介绍2
1.2 Linux内核版本信息3
1.2.1 Linux内核版本3
1.2.2 GPL相关术语4
1.3 Linux内核体系结构4
1.4 源代码及组成6
1.5 内核编译方法7
1.6 小结10
1.7 习题10
第2章 内核探索工具11
2.1 内核数据结构11
2.1.1 链表11
2.1.2 散列表11
2.1.3 抽象接口12
2.2 Linux汇编12
2.2.1 Linux汇编简介12
2.2.2 Linux汇编语法格式13
2.2.3 程序实例14
2.2.4 Linux汇编系统调用16
2.2.5 GCC内联汇编17
2.3 Linux C语言19
2.3.1 C语言标准19
2.3.2 函数库和系统调用19
2.3.3 C语言编程风格21
2.3.4 库和头文件的保存位置22
2.4 GNU/GCC,GNU/GDB23
2.4.1 运行gcc23
2.4.2 gcc的主要选项24
2.4.3 gdb介绍25
2.4.4 gdb的常用命令26
2.4.5 gdb使用范例26
2.5 GNU make工具介绍27
2.5.1 GNU make概述27
2.5.2 makefile基本结构28
2.5.3 makefile变量29
2.5.4 GNU make的主要预定义变量29
2.5.5 隐含规则30
2.5.6 运行make31
2.6 内核探测工具31
2.6.1 objdump/readelf31
2.6.2 hexdump33
2.6.3 nm33
2.6.4 objcopy33
2.6.5 ar33
2.7 小结33
2.8 习题34
第3章 Linux内核引导35
3.1 BIOS和Open Firmware35
3.1.1 BIOS35
3.1.2 Open Firmware36
3.2 Bootloader介绍36
3.2.1 GRUB36
3.2.2 LILO38
3.2.3 U-Boot38
3.3 系统引导过程40
3.3.1 概述40
3.3.2 系统启动41
3.3.3 第一阶段引导加载程序42
3.3.4 第二阶段引导加载程序42
3.3.5 内核43
3.3.6 init44
3.4 小结46
3.5 习题46
第4章 进程管理47
4.1 进程描述符及任务结构体47
4.2 进程创建55
4.2.1 概述55
4.2.2 fork()函数56
4.2.3 vfork()函数58
4.2.4 clone()函数58
4.2.5 do_fork()函数59
4.2.6 exec()函数族61
4.3 进程终止62
4.3.1 概述62
4.3.2 进程终止过程63
4.3.3 进程的状态64
4.4 线程的实现65
4.5 工业监控场景应用67
4.5.1 场景描述67
4.5.2 处理流程67
4.5.3 程序范例68
4.6 小结71
4.7 习题72
第5章 进程调度73
5.1 调度策略73
5.1.1 优先级调度73
5.1.2 时间片轮转74
5.1.3 三种调度策略75
5.2 调度算法分析75
5.3 等待队列79
5.4 抢占和上下文切换分析80
5.4.1 上下文切换80
5.4.2 抢占81
5.5 调度相关系统调用82
5.6 动态更改进程优先级程序实例84
5.6.1 场景描述84
5.6.2 处理流程85
5.6.3 程序范例85
5.7 小结86
5.8 习题86
第6章 系统调用88
6.1 API、POSIX及C库88
6.2 系统调用及实现分析89
6.2.1 基本概念89
6.2.2 系统调用简述90
6.2.3 系统调用功能模块的初始化92
6.2.4 内核服务92
6.2.5 实现过程93
6.2.6 调用流程实例95
6.3 添加系统调用96
6.4 增加系统调用场景应用98
6.4.1 场景描述98
6.4.2 添加流程98
6.4.3 计算数值平方的系统调用添加实例100
6.5 小结100
6.6 习题101
第7章 中断机制102
7.1 中断102
7.1.1 中断分类102
7.1.2 中断请求103
7.2 中断处理程序104
7.3 管理中断的数据结构105
7.3.1 结构体irq_desc_t106
7.3.2 结构体irqaction107
7.3.3 结构体hw_interrupt_type108
7.4 注册中断处理程序110
7.5 释放中断处理程序111
7.6 编写中断处理程序111
7.7 中断上下文112
7.8 中断处理机制的实现112
7.8.1 中断处理总体流程112
7.8.2 中断处理具体过程113
7.8.3 与中断处理相关的主要函数113
7.8.4 下半部机制123
7.8.5 软中断123
7.8.6 tasklet125
7.8.7 工作队列132
7.9 中断处理程序场景应用142
7.9.1 场景描述142
7.9.2 处理流程142
7.9.3 程序范例143
7.10 小结144
7.11 习题145
第8章 内核同步机制146
8.1 临界区和竞争条件146
8.2 原子操作146
8.3 自旋锁150
8.4 读/写自旋锁154
8.5 信号量156
8.6 读/写信号量157
8.7 完成变量159
8.8 BKL160
8.9 生产者/消费者场景应用160
8.9.1 场景描述160
8.9.2 处理流程161
8.9.3 程序范例161
8.10 小结166
8.11 习题167
第9章 定时器和时间管理机制168
9.1 内核中的时间概念168
9.2 节拍率169
9.3 jiffies169
9.4 硬时钟和定时器171
9.4.1 硬时钟171
9.4.2 定时器175
9.5 时钟中断处理程序175
9.6 内核时间管理函数178
9.7 定时器180
9.7.1 动态定时器机制实现原理180
9.7.2 定时器竞争条件180
9.7.3 定时器实现181
9.8 定时显示信息的场景应用183
9.8.1 场景描述183
9.8.2 处理流程183
9.8.3 程序范例184
9.9 小结185
9.10 习题185
第10章 模块机制187
10.1 模块概念187
10.2 modutils介绍188
10.2.1 insmod的使用188
10.2.2 lsmod的使用189
10.2.3 rmmod的使用189
10.2.4 modprobe的使用190
10.2.5 从kerneld到kmod191
10.3 模块实现机制分析191
10.3.1 基本概念191
10.3.2 Linux内核模块实现机制192
10.3.3 如何构建自己的模块195
10.4 模块编程注意事项197
10.4.1 内核中的并发197
10.4.2 版本相关性198
10.5 模块机制的改变对设备驱动的影响198
10.5.1 获取内核版本199
10.5.2 模块编译199
10.5.3 模块装载时的版本检查200
10.5.4 模块的初始化与退出200
10.5.5 模块使用计数200
10.5.6 模块输出的内核符号200
10.5.7 模块的命令行输入参数201
10.5.8 模块的许可证声明202
10.6 增加模块应用场景202
10.6.1 场景描述202
10.6.2 处理流程202
10.6.3 程序范例203
10.7 小结205
10.8 习题205
第11章 内存管理机制206
11.1 基本机制206
11.1.1 页206
11.1.2 区208
11.2 伙伴算法212
11.3 slab分配器214
11.4 内存分配释放函数218
11.5 虚拟内存222
11.6 高速缓存223
11.7 Linux页表224
11.8 进程内存映射225
11.9 内存管理应用实例225
11.10 小结227
11.11 习题228
第12章 虚拟文件系统229
12.1 和平共处通用文件系统接口229
12.2 VFS对象及数据结构230
12.3 超级块对象231
12.3.1 超级块结构体231
12.3.2 超级块操作234
12.4 索引节点对象236
12.4.1 索引节点结构体236
12.4.2 索引节点操作238
12.5 目录项对象240
12.5.1 目录项结构体240
12.5.2 目录项操作241
12.6 文件对象242
12.6.1 文件对象结构体242
12.6.2 文件对象操作244
12.7 VFS中挂载与卸载文件系统246
12.7.1 登记文件系统246
12.7.2 安装文件系统247
12.7.3 卸载文件系统248
12.8 小结248
12.9 习题248
第13章 I/O设备管理249
13.1 I/O管理机制249
13.2 块设备管理249
13.2.1 缓冲区和缓冲区头250
13.2.2 bio结构体252
13.2.3 请求队列254
13.3 驱动程序设计257
13.3.1 驱动程序框架257
13.3.2 块设备驱动程序259
13.4 驱动程序设计实例262
13.4.1 字符设备驱动程序262
13.4.2 块设备驱动程序265
13.5 小结266
13.6 习题267
参考文献268