《精通LINUX内核 智能设备开发核心技术》求取 ⇩

知识储备篇2

第1章基于Linux内核的操作系统2

1.1 处理器、平台和操作系统2

1.2以安卓为例剖析操作系统3

1.2.1 安卓的整体架构3

1.2.2 Linux内核的核心作用5

1.3内核整体架构6

1.3.1 内核代码的目录结构6

1.3.2 内核的核心模块及关联7

1.4实例分析8

1.4.1 系统响应“点击智能手机触摸屏”的过程8

1.4.2 智能手机的传感器游戏9

第2章数据结构的使用10

2.1关系型数据结构10

2.1.1 一对一关系10

2.1.2 一对多关系11

2.1.3 多对多关系14

2.2 位操作数据结构17

2.3模块和内核参数传递18

2.3.1 内嵌通用数据结构18

2.3.2 通用结构的私有变量18

2.4实例分析19

2.4.1 模块的封装19

2.4.2 火眼金睛:看破数据结构19

第3章时间的衡量和计算21

3.1 数据结构21

3.2 时钟芯片24

3.3 从内核的角度看时间25

3.4 周期性和单触发的时钟中断27

3.5时间相关的系统调用28

3.5.1 获取时间28

3.5.2 给程序定个闹钟29

3.6实例分析30

3.6.1 实现智能手机的长按操作30

3.6.2 系统的时间并不如你所想31

第4章中断和中断处理32

4.1 处理器识别中断32

4.2处理中断33

4.2.1 中断处理程序33

4.2.2 中断服务例程33

4.2.3 中断处理36

4.3 中断返回40

4.4 系统调用41

4.5软中断42

4.5.1 原理42

4.5.2 小任务tasklet43

4.5.3 定时器46

4.6实例分析49

4.6.1 使用中断向无人驾驶系统报告紧急事件49

4.6.2 使用watchdog预防无人机坠落50

第5章内核同步51

5.1 临界区的竞争51

5.2同步原语52

5.2.1 每CPU变量52

5.2.2 volatile关键字53

5.2.3 屏障54

5.2.4 atomic变量55

5.2.5 禁中断57

5.2.6 禁抢占57

5.2.7 自旋锁59

5.2.8 读写锁60

5.2.9 顺序锁62

5.2.1 0信号量63

5.2.1 1互斥锁65

5.2.1 2读-拷贝-更新66

5.3实例分析69

5.3.1 无人驾驶模式与人工驾驶模式的切换69

5.3.2 智能手机触摸屏的report和suspend69

第6章事件的同步与异步71

6.1 事件的异步71

6.2事件的同步77

6.2.1 等待一段时间77

6.2.2 等待事件完成78

6.3实例分析81

6.3.1 使用工作队列轮询无人车环境感知数据81

6.3.2 使用等待队列等待芯片“回复”82

内存管理篇85

第7章内存寻址85

7.1 处理器眼中的内存85

7.2内存分页86

7.2.1 寻址:处理器的寻宝游戏87

7.2.2 内存映射90

7.3实例分析93

7.3.1 访问GPU的帧缓冲93

7.3.2 MMIO的映射93

第8章物理内存的管理95

8.1 物理内存的组织形式95

8.2 启动程序98

8.3 memblock分配器98

8.4伙伴系统99

8.4.1 数据结构100

8.4.2 页的申请和释放101

8.5实例分析105

8.5.1 构造一个内存管理系统105

8.5.2 安卓的ION106

第9章内存线性空间布局107

9.1 线性空间划分107

9.2内核线性空间布局107

9.2.1 直接映射区109

9.2.2 动态映射区110

9.2.3 永久映射区111

9.2.4 固定映射区111

9.3mmap机制112

9.3.1 函数原型112

9.3.2 数据结构113

9.3.3 mmap的实现114

9.3.4 内存映射的总结120

9.4内存申请120

9.4.1 得到物理内存121

9.4.2 得到虚拟内存121

9.5实例分析122

9.5.1 通过dev映射内存122

9.5.2 几种不同的mmap映射方式123

第10章内存管理进阶124

10.1处理器的缓存124

10.1.1 TLB缓存124

10.1.2 内存缓存125

10.2缺页异常127

10.2.1 处理缺页异常128

10.2.2 COW的精髓134

10.3实例分析135

10.3.1 利用Cache的特性优化深度学习开发135

10.3.2 内核为molloc做了什么136

文件系统篇138

第11章文件系统138

11.1 概念和数据结构138

11.2 文件系统的挂载143

11.3 查找文件148

11.4文件操作154

11.4.1 创建和删除目录155

11.4.2 打开和关闭文件156

11.4.3 文件的链接161

11.4.4 创建节点165

11.4.5 删除文件166

11.5文件的IO167

11.5.1 fcntl函数167

11.5.2 文件的读写169

11.5.3 ioctl函数170

11.6实例分析172

11.6.1 包罗万象的proc文件系统172

11.6.2 陌生又熟悉的devtmpfs文件系统175

第12章sysfs文件系统178

12.1 基本框架178

12.2 数据结构180

12.3 创建文件182

12.4 文件的IO183

12.5实例分析185

12.5.1 利用sysfs协助驱动调试185

12.5.2 智能家居:自动调整灯光的亮度和色温186

第13章ext4文件系统187

13.1 概述187

13.2数据结构192

13.2.1 ext4_super_block 结构体192

13.2.2 ext4_group_desc结构体194

13.2.3 ext4_inode结构体196

13.2.4 ext4_sb_info结构体198

13.2.5 ext4_inode_info结构体199

13.3 ext4的挂载200

13.4目录的结构204

13.4.1 线性目录204

13.4.2 哈希树目录206

13.4.3 硬链接209

13.5文件的IO210

13.5.1 映射210

13.5.2 区段树211

13.6实例分析215

13.6.1 恢复删除的文件并不神秘215

13.6.2 文件系统的修复215

进程管理篇217

第14章进程217

14.1概述217

14.1.1 数据结构217

14.1.2 扩展讨论220

14.2进程的创建225

14.2.1 dup_task_struct函数227

14.2.2 复制creds228

14.2.3 设置时间229

14.2.4 sched_fork函数230

14.2.5 复制资源231

14.2.6 申请pid249

14.2.7 重要的杂项251

14.3创建进程253

14.3.1 fork/vfork系统调用253

14.3.2 创建线程255

14.3.3 创建内核线程258

14.4 进程“三巨头”260

14.5进程退出262

14.5.1 退出方式262

14.5.2 退出过程263

14.5.3 使用wait等待子进程266

14.6实例分析267

14.6.1 创建service接收无人机手柄控制信号268

14.6.2 安卓的thread268

第15章进程调度270

15.1 数据结构270

15.2进程调度的过程272

15.2.1 进程被创建273

15.2.2 唤醒进程273

15.2.3 时钟中断276

15.2.4 进程切换285

15.3 stop调度类293

15.4实时调度类293

15.4.1 优先级和抢占294

15.4.2 task_tick_rt函数295

15.4.3 选择下一个进程297

15.5完全公平调度类297

15.5.1 task_fork_fair函数299

15.5.2 enqueue_task和check_preempt302

15.5.3 task_tick_fair函数303

15.5.4 进程切换304

15.6 最后期限调度类306

15.7 idle调度类306

15.8 进程优先级307

15.9实例分析309

15.9.1 创建实时进程服务于AI的感知系统309

15.9.2 似睡非睡的idle310

第16章信号处理311

16.1 数据结构311

16.2 捕捉信号312

16.3 发送信号313

16.4处理信号318

16.4.1 何时、如何318

16.4.2 调用handler320

16.4.3 处理信号后如何返回321

16.5实例分析322

16.5.1 使用kill命令发送信号322

16.5.2 使用信号监控IO事件322

第17章进程通信324

17.1经典的管道324

17.1.1 创建pipe324

17.1.2 pipe的操作327

17.1.3 命名管道331

17.2POSIX通信332

17.2.1 POSIX信号量332

17.2.2 POSIX共享内存334

17.2.3 POSIX消息队列334

17.3XSI通信337

17.3.1 IPC对象的key和id337

17.3.2 XSI信号量339

17.3.3 XSI消息队列342

17.3.4 XSI共享内存344

17.4实例分析346

17.4.1 多线程设计加速深度学习346

17.4.2 构建无人机的Service与Client架构347

第18章程序的执行348

18.1elf文件348

18.1.1 概述348

18.1.2 文件格式349

18.2exec函数族356

18.2.1 数据结构357

18.2.2 系统调用357

18.3实例分析364

18.3.1 使程序高效且对系统友好364

18.3.2 main函数的秘密365

升华篇367

第19章梳理操作系统:I/O多路复用367

19.1 select机制367

19.2 poll机制370

19.3升级版:epoll370

19.3.1 数据结构370

19.3.2 epoll的使用371

19.4实例分析373

19.4.1 事件驱动型程序架构374

19.4.2 改良管道通信374

第20章智能设备的传感器开发375

20.1 传感器在智能手机和人工智能中的应用375

20.2input子系统376

20.2.1 数据结构376

20.2.2 device和handler的注册378

20.2.3 事件的报告379

20.2.4 万能的evdev380

20.3实例分析381

20.3.1 智能手机硬件抽象层的实现382

20.3.2 无人驾驶的传感器382

第21章智能设备的Camera开发383

21.1 Camera在人工智能中的应用383

21.2V4L2架构384

21.2.1 数据结构384

21.2.2 ioctl操作389

21.3 Camera的核心ioctl操作391

21.4实例分析394

21.4.1 安卓的Camera架构394

21.4.2 Camera的3A控制395

第22章设备驱动开发:设备驱动模型396

22.1 驱动、设备和总线396

22.2 probe是如何被调用的398

22.3 再论总线399

22.4实例分析400

22.4.1 设计一个层次分明的驱动400

22.4.2 提炼同质设备的驱动401

第23章安卓系统的核心:Binder通信402

23.1 Binder通信的原理和结构402

23.2Binder的流程404

23.2.1 ServiceManager进程管理服务404

23.2.2 注册和获取服务405

23.2.3 服务的过程406

23.3 Binder的驱动407

23.4实例分析410

23.4.1 使用Binder让设计变清晰410

23.4.2 通过Binder获得传感器列表411

第24章从内核的角度看芯片和驱动412

24.1芯片的基本功能模块412

24.1.1 复位412

24.1.2 中断413

24.1.3 接口414

24.2一个完整的芯片驱动415

24.2.1 初始化415

24.2.2 芯片的正常工作状态417

24.2.3 suspend和resume418

24.3实例分析420

24.3.1 加速度传感器芯片420

24.3.2 智能手机的触摸屏芯片421

第25章Linux与人工智能422

25.1人工智能的现状422

25.1.1 深度学习422

25.1.2 神经网络423

25.2深度学习的软硬件生态424

25.2.1 整体架构424

25.2.2 硬件纷争425

25.3实例分析425

25.3.1 无人驾驶汽车的模块分解425

25.3.2 机器人操作系统ROS426

附录427

附录A内嵌汇编语言427

附录B 链接脚本430

附录C 函数和宏所属文件表433

2020《精通LINUX内核 智能设备开发核心技术》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

智能仪器  单片机应用系统设计(1998 PDF版)
智能仪器 单片机应用系统设计
1998 北京:机械工业出版社
3g核心网技术( PDF版)
3g核心网技术
测试工程师核心开发技术(2020 PDF版)
测试工程师核心开发技术
2020
未公开的Windows核心技术(1993 PDF版)
未公开的Windows核心技术
1993 北京:清华大学出版社
Windows 98编程核心技术精解(1998 PDF版)
Windows 98编程核心技术精解
1998 北京:中国水利水电出版社
核能经济学  核燃料技术经济基础(1988 PDF版)
核能经济学 核燃料技术经济基础
1988 北京:原子能出版社
企业核心能力(1998 PDF版)
企业核心能力
1998 北京:法律出版社
核能发电(1986 PDF版)
核能发电
1986 北京:水利电力出版社
核能(1999 PDF版)
核能
1999 北京:宇航出版社
Microsoft Exchange Server 5.0核心技术(1998 PDF版)
Microsoft Exchange Server 5.0核心技术
1998 北京:科学出版社;龙门书局
核能(1984 PDF版)
核能
1984 能源出版社
Exchange Server 5.5核心技术精解(1999 PDF版)
Exchange Server 5.5核心技术精解
1999 北京:中国水利水电出版社
未公开的DOS核心技术(1992 PDF版)
未公开的DOS核心技术
1992 北京:清华大学出版社
Red Hat LINUX核心技术精解(1999 PDF版)
Red Hat LINUX核心技术精解
1999 北京:中国水利水电出版社
核能与核技术(1994 PDF版)
核能与核技术
1994 上海:上海科学技术出版社