当前位置: 首页 > linux

《Linux内核模块开发技术指南》叶常华 pdf电子书[14MB]

  • linux
  • 更新时间:2026-01-31 21:03:20
简介《Linux内核模块开发技术指南》是由叶常华编著,本书旨在帮助读者快速理解Linux内核,并掌握内核模块开发及性能调优的能力。本书不仅适合初学者学习Linux内核开发的基础知识,也适合有一定基础的开发者深入学习高级主题和前沿技术。...
《Linux内核模块开发技术指南》pdf电子书下载
《Linux内核模块开发技术指南》pdf百度网盘
《Linux内核模块开发技术指南》pdf百度网盘
《Linux内核模块开发技术指南》pdf百度网盘

 

旨在帮助读者快速理解Linux内核,并掌握内核模块开发及性能调优的能力。

本书以Linux 5.10版本内核为蓝本,通过对内核工作原理的阐释与诸多核心模块的动手实现,详细介绍了内核模块相关基础、并发与互斥、系统调用、内核监控与调试、字符和块设备驱动、外部中断、块I/O调度、文件系统、进程调度、网络数据包过滤、安全模块等内容。

本书不仅适合初学者学习Linux内核开发的基础知识,也适合有一定基础的开发者深入学习高级主题和前沿技术。

第1章 第一个内核模块Hello,Linux Kernel 001
1.1 内核模块的程序构成 001
1.2 打印级别 008
1.3 再谈Hello,Linux Kenel 009
1.4 常用数据结构 011
第2章 proc文件 018
2.1 创建proc文件 018
2.2 文件读写 022
2.3 创建目录 024
2.4 通过偏移量读写文件 025
2.5 打开的文件 027
2.6 移动读写位置 029
2.7 目录项和文件节点 032
2.8 I/O控制操作 039
2.9 小结 042
第3章 内核模块开发基础 043
3.1 内核补丁 043
3.2 常用的内存分配和释放接口 046
3.3 内存映射 054
3.4 获取未映射内存区域 059
3.5 散布读 060
3.6 内核线程 064
3.7 工作队列 070
3.8 等待队列 071
3.9 实现wait_event和wake_up 078
3.10 多路复用 082
3.11 定时器 086
3.12 延时任务 093
第4章 并发与互斥 095
4.1 信号量 096
4.2 互斥体 098
4.3 完成量 099
4.4 原子操作 102
4.5 自旋锁 105
4.6 读写锁 108
4.7 RCU 111
4.8 PER_CPU 114
4.9 死锁检测 117
第5章 系统调用 120
5.1 执行系统调用 120
5.2 C与汇编 123
5.3 增加系统调用 132
5.4 Linux系统调用的实现方式 136
5.5 通过软件中断实现系统调用 138
第6章 监控与调试 141
6.1 kprobe 141
6.2 kretprobe 145
6.3 uprobe 149
6.4 perf 154
6.5 bpftrace 160
6.6 kdump 163
6.7 kgdb 170
第7章 字符设备驱动 175
7.1 最简单的字符设备驱动 175
7.2 通过字符设备驱动访问串口 181
7.3 通过ioctl操作配置串口参数 188
第8章 外部中断 191
8.1 基本概念 191
8.2 通过中断读取串口数据 192
8.3 中断底半部 197
8.4 常用接口 203
第9章 文件操作 206
9.1 虚拟文件系统(VFS) 206
9.2 write_iter操作 208
9.3 flush操作 211
9.4 flock操作 215
9.5 lock操作 218
9.6 splice_read和splice_write 221
9.7 copy_file_range操作 229
第10章 块设备驱动 235
10.1 块设备 235
10.2 相关概念 236
10.3 第一个块设备驱动 244
10.4 块I/O请求队列 247
10.5 在块设备驱动中使用请求队列 254
第11章 块I/O调度 257
11.1 块I/O调度流程 257
11.2 块I/O调度相关结构体 258
11.3 写一个块I/O调度器 265
11.4 Mq-Deadline调度器 269
第12章 文件系统 271
12.1 注册文件系统 271
12.2 创建超级块 275
12.3 创建根目录 278
12.4 本级目录和上级目录 281
12.5 增加一个文件 285
12.6 增加文件的读写操作 288
12.7 动态创建文件 289
12.8 文件的删除操作 294
12.9 写一个磁盘文件系统 295
第13章 文件数据的管理 319
13.1 地址空间 319
13.2 在文件系统中使用地址空间 324
13.3 小结 332
第14章 进程调度 333
14.1 基本概念 333
14.2 动手实现进程调度器 347
14.3 公平调度器分析 353
第15章 网络数据包过滤 362
15.1 Netfilter原理 362
15.2 实现最简单的Netfilter模块 363
15.3 sk_buff 369
15.4 IP数据处理的五条链 384
15.5 连接跟踪机制 387
15.6 NF Queue 391
15.7 Iptables 412
15.8 ARP数据包过滤 412
第16章 Linux安全模块 415
16.1 LSM的实现原理 415
16.2 编写一个简单的LSM模块 417
16.3 理解LSM框架 425
16.4 目录访问控制 427
16.5 inode节点访问控制 430
16.6 文件访问控制 432
16.7 小结 434

 

点击下载