LINUX内核分析及高级编程PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:吴国伟,李张,任广臣编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2008
- ISBN:9787121052446
- 页数:269 页
第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/GDB 23
2.4.1 运行gcc 23
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 运行make 31
2.6 内核探测工具 31
2.6.1 objdump/readelf 31
2.6.2 hexdump 33
2.6.3 nm 33
2.6.4 objcopy 33
2.6.5 ar 33
2.7 小结 33
2.8 习题 34
第3章 Linux内核引导 35
3.1 BIOS和Open Firmware 35
3.1.1 BIOS 35
3.1.2 Open Firmware 36
3.2 Bootloader介绍 36
3.2.1 GRUB 36
3.2.2 LILO 38
3.2.3 U-Boot 38
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 init 44
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_t 106
7.3.2 结构体irqaction 107
7.3.3 结构体hw_interrupt_type 108
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 tasklet 125
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 BKL 160
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 jiffies 169
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到kmod 191
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
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《分析化学》陈怀侠主编 2019
- 《影响葡萄和葡萄酒中酚类特征的因素分析》朱磊 2019
- 《仪器分析技术 第2版》曹国庆 2018
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《全国普通高等中医药院校药学类专业十三五规划教材 第二轮规划教材 分析化学实验 第2版》池玉梅 2018
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《行测资料分析》李永新主编 2019
- 《药物分析》贡济宇主编 2017
- 《土壤环境监测前沿分析测试方法研究》中国环境监测总站编著 2018
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017