得书 - 好书推荐、正版图书免费阅读
发现
热门
排行榜
VIP会员
🔍
➜
注册 | 登录
精通Linux内核:智能设备开发核心技术
姜亚华
评分
0
(4 人读过)
2019 年出版
工业技术
¥108.36
免费读
VIP 专享
立即开始阅读
加入书架
已加书架
反馈
超值推荐:
首月9.9开通会员,本书及全站
10,000+
好书无限畅读。
开通会员 >
内容简介
展开全文
封面
前折页
书名页
版权页
序一
序二
前言
目录
知识储备篇
第1章 基于Linux内核的操作系统
1.1 处理器、平台和操作系统
1.2 以安卓为例剖析操作系统
1.2.1 安卓的整体架构
1.2.2 Linux内核的核心作用
1.3 内核整体架构
1.3.1 内核代码的目录结构
1.3.2 内核的核心模块及关联
1.4 实例分析
1.4.1 系统响应“点击智能手机触摸屏”的过程
1.4.2 智能手机的传感器游戏
第2章 数据结构的使用
2.1 关系型数据结构
2.1.1 一对一关系
2.1.2 一对多关系
2.1.3 多对多关系
2.2 位操作数据结构
2.3 模块和内核参数传递
2.3.1 内嵌通用数据结构
2.3.2 通用结构的私有变量
2.4 实例分析
2.4.1 模块的封装
2.4.2 火眼金睛:看破数据结构
第3章 时间的衡量和计算
3.1 数据结构
3.2 时钟芯片
3.3 从内核的角度看时间
3.4 周期性和单触发的时钟中断
3.5 时间相关的系统调用
3.5.1 获取时间
3.5.2 给程序定个闹钟
3.6 实例分析
3.6.1 实现智能手机的长按操作
3.6.2 系统的时间并不如你所想
第4章 中断和中断处理
4.1 处理器识别中断
4.2 处理中断
4.2.1 中断处理程序
4.2.2 中断服务例程
4.2.3 中断处理
4.3 中断返回
4.4 系统调用
4.5 软中断
4.5.1 原理
4.5.2 小任务tasklet
4.5.3 定时器
4.6 实例分析
4.6.1 使用中断向无人驾驶系统报告紧急事件
4.6.2 使用watchdog预防无人机坠落
第5章 内核同步
5.1 临界区的竞争
5.2 同步原语
5.2.1 每CPU变量
5.2.2 volatile关键字
5.2.3 屏障
5.2.4 atomic变量
5.2.5 禁中断
5.2.6 禁抢占
5.2.7 自旋锁
5.2.8 读写锁
5.2.9 顺序锁
5.2.10 信号量
5.2.11 互斥锁
5.2.12 读-拷贝-更新
5.3 实例分析
5.3.1 无人驾驶模式与人工驾驶模式的切换
5.3.2 智能手机触摸屏的report和suspend
第6章 事件的同步与异步
6.1 事件的异步
6.2 事件的同步
6.2.1 等待一段时间
6.2.2 等待事件完成
6.3 实例分析
6.3.1 使用工作队列轮询无人车环境感知数据
6.3.2 使用等待队列等待芯片“回复”
内存管理篇
第7章 内存寻址
7.1 处理器眼中的内存
7.2 内存分页
7.2.1 寻址:处理器的寻宝游戏
7.2.2 内存映射
7.3 实例分析
7.3.1 访问GPU的帧缓冲
7.3.2 MMIO的映射
第8章 物理内存的管理
8.1 物理内存的组织形式
8.2 启动程序
8.3 memblock分配器
8.4 伙伴系统
8.4.1 数据结构
8.4.2 页的申请和释放
8.5 实例分析
8.5.1 构造一个内存管理系统
8.5.2 安卓的ION
第9章 内存线性空间布局
9.1 线性空间划分
9.2 内核线性空间布局
9.2.1 直接映射区
9.2.2 动态映射区
9.2.3 永久映射区
9.2.4 固定映射区
9.3 mmap机制
9.3.1 函数原型
9.3.2 数据结构
9.3.3 mmap的实现
9.3.4 内存映射的总结
9.4 内存申请
9.4.1 得到物理内存
9.4.2 得到虚拟内存
9.5 实例分析
9.5.1 通过dev映射内存
9.5.2 几种不同的mmap映射方式
第10章 内存管理进阶
10.1 处理器的缓存
10.1.1 TLB缓存
10.1.2 内存缓存
10.2 缺页异常
10.2.1 处理缺页异常
10.2.2 COW的精髓
10.3 实例分析
10.3.1 利用Cache的特性优化深度学习开发
10.3.2 内核为molloc做了什么
文件系统篇
第11章 文件系统
11.1 概念和数据结构
11.2 文件系统的挂载
11.3 查找文件
11.4 文件操作
11.4.1 创建和删除目录
11.4.2 打开和关闭文件
11.4.3 文件的链接
11.4.4 创建节点
11.4.5 删除文件
11.5 文件的IO
11.5.1 fcntl函数
11.5.2 文件的读写
11.5.3 ioctl函数
11.6 实例分析
11.6.1 包罗万象的proc文件系统
11.6.2 陌生又熟悉的devtmpfs文件系统
第12章 sysfs文件系统
12.1 基本框架
12.2 数据结构
12.3 创建文件
12.4 文件的IO
12.5 实例分析
12.5.1 利用sysfs协助驱动调试
12.5.2 智能家居:自动调整灯光的亮度和色温
第13章 ext4文件系统
13.1 概述
13.2 数据结构
13.2.1 ext4_super_block结构体
13.2.2 ext4_group_desc结构体
13.2.3 ext4_inode结构体
13.2.4 ext4_sb_info结构体
13.2.5 ext4_inode_info结构体
13.3 ext4的挂载
13.4 目录的结构
13.4.1 线性目录
13.4.2 哈希树目录
13.4.3 硬链接
13.5 文件的IO
13.5.1 映射
13.5.2 区段树
13.6 实例分析
13.6.1 恢复删除的文件并不神秘
13.6.2 文件系统的修复
进程管理篇
第14章 进程
14.1 概述
14.1.1 数据结构
14.1.2 扩展讨论
14.2 进程的创建
14.2.1 dup_task_struct函数
14.2.2 复制creds
14.2.3 设置时间
14.2.4 sched_fork函数
14.2.5 复制资源
14.2.6 申请pid
14.2.7 重要的杂项
14.3 创建进程
14.3.1 fork/vfork系统调用
14.3.2 创建线程
14.3.3 创建内核线程
14.4 进程“三巨头”
14.5 进程退出
14.5.1 退出方式
14.5.2 退出过程
14.5.3 使用wait等待子进程
14.6 实例分析
14.6.1 创建service接收无人机手柄控制信号
14.6.2 安卓的thread
第15章 进程调度
15.1 数据结构
15.2 进程调度的过程
15.2.1 进程被创建
15.2.2 唤醒进程
15.2.3 时钟中断
15.2.4 进程切换
15.3 stop调度类
15.4 实时调度类
15.4.1 优先级和抢占
15.4.2 task_tick_rt函数
15.4.3 选择下一个进程
15.5 完全公平调度类
15.5.1 task_fork_fair函数
15.5.2 enqueue_task和check_preempt
15.5.3 task_tick_fair函数
15.5.4 进程切换
15.6 最后期限调度类
15.7 idle调度类
15.8 进程优先级
15.9 实例分析
15.9.1 创建实时进程服务于AI的感知系统
15.9.2 似睡非睡的idle
第16章 信号处理
16.1 数据结构
16.2 捕捉信号
16.3 发送信号
16.4 处理信号
16.4.1 何时、如何
16.4.2 调用handler
16.4.3 处理信号后如何返回
16.5 实例分析
16.5.1 使用kill命令发送信号
16.5.2 使用信号监控IO事件
第17章 进程通信
17.1 经典的管道
17.1.1 创建pipe
17.1.2 pipe的操作
17.1.3 命名管道
17.2 POSIX通信
17.2.1 POSIX信号量
17.2.2 POSIX共享内存
17.2.3 POSIX消息队列
17.3 XSI通信
17.3.1 IPC对象的key和id
17.3.2 XSI信号量
17.3.3 XSI消息队列
17.3.4 XSI共享内存
17.4 实例分析
17.4.1 多线程设计加速深度学习
17.4.2 构建无人机的Service与Client架构
第18章 程序的执行
18.1 elf文件
18.1.1 概述
18.1.2 文件格式
18.2 exec函数族
18.2.1 数据结构
18.2.2 系统调用
18.3 实例分析
18.3.1 使程序高效且对系统友好
18.3.2 main函数的秘密
升华篇
第19章 梳理操作系统:I/O多路复用
19.1 select机制
19.2 poll机制
19.3 升级版:epoll
19.3.1 数据结构
19.3.2 epoll的使用
19.4 实例分析
19.4.1 事件驱动型程序架构
19.4.2 改良管道通信
第20章 智能设备的传感器开发
20.1 传感器在智能手机和人工智能中的应用
20.2 input子系统
20.2.1 数据结构
20.2.2 device和handler的注册
20.2.3 事件的报告
20.2.4 万能的evdev
20.3 实例分析
20.3.1 智能手机硬件抽象层的实现
20.3.2 无人驾驶的传感器
第21章 智能设备的Camera开发
21.1 Camera在人工智能中的应用
21.2 V4L2架构
21.2.1 数据结构
21.2.2 ioctl操作
21.3 Camera的核心ioctl操作
21.4 实例分析
21.4.1 安卓的Camera架构
21.4.2 Camera的3A控制
第22章 设备驱动开发:设备驱动模型
22.1 驱动、设备和总线
22.2 probe是如何被调用的
22.3 再论总线
22.4 实例分析
22.4.1 设计一个层次分明的驱动
22.4.2 提炼同质设备的驱动
第23章 安卓系统的核心:Binder通信
23.1 Binder通信的原理和结构
23.2 Binder的流程
23.2.1 ServiceManager进程管理服务
23.2.2 注册和获取服务
23.2.3 服务的过程
23.3 Binder的驱动
23.4 实例分析
23.4.1 使用Binder让设计变清晰
23.4.2 通过Binder获得传感器列表
第24章 从内核的角度看芯片和驱动
24.1 芯片的基本功能模块
24.1.1 复位
24.1.2 中断
24.1.3 接口
24.2 一个完整的芯片驱动
24.2.1 初始化
24.2.2 芯片的正常工作状态
24.2.3 suspend和resume
24.3 实例分析
24.3.1 加速度传感器芯片
24.3.2 智能手机的触摸屏芯片
第25章 Linux与人工智能
25.1 人工智能的现状
25.1.1 深度学习
25.1.2 神经网络
25.2 深度学习的软硬件生态
25.2.1 整体架构
25.2.2 硬件纷争
25.3 实例分析
25.3.1 无人驾驶汽车的模块分解
25.3.2 机器人操作系统ROS
附录
附录A 内嵌汇编语言
附录B 链接脚本
附录C 函数和宏所属文件表
后折页
封底
展开全部
版权信息
出版社:机械工业出版社
出版时间:2019
作者:姜亚华
温馨提示:
1.本电子书已获得正版授权,由出版社通过知传链发行。
2.该电子书为虚拟物品,付费之后概不接收任何理由退款。电子书内容仅支持在线阅读,不支持下载。
3.您在本站购买的阅读使用权仅限于您本人阅读使用,您不得/不能给任何第三方使用,由此造成的一切相关后果本平台保留向您追偿索赔的权利!版权所有,后果自负!
得书感谢您对《
精通Linux内核:智能设备开发核心技术
》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。
实时热榜
Hot
查看全部 >
1
认知觉醒:开启自我改变的原动力
周岭
2
被讨厌的勇气
岸见一郎
3
自渡
墨多先生
读过此书的人也喜欢
精通Linux内核开发
著
立即试读 >
Linux核心技术从小白到大牛
黄林峰 翟文学
立即试读 >
智能弱电工程设计与应用
张飞碧
立即试读 >
智能楼宇设备技术
杨少春
立即试读 >
嵌入式Linux开发教程
宋娟、马华杰
立即试读 >
低压成套开关设备的原理及其控制技术 第3版
张白帆
立即试读 >
读者好评
查看更多真实评价 >
精通Linux内核:智能设备开发核心技术
免费读
(VIP)
开通会员,更多好书免费读
单本购买 ¥108.36
意见反馈
我的书架
公众号
关注微信公众号