描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787302381990
内容简介
本书包括上下两篇内容。上篇在保证完整Linux内核架构分析的前提下,着重分析Android系统中强烈依赖的Linux内核机制,如多核ARM架构的支持,而略去Android系统产品化没有用到内核机制,如SWAP机制。下篇主要分析Android系统层主要架构机制,尤其注重分析这些用户态机制与内核机制的接驳与交互。本书整理自作者多年积累的笔记,形式以源代码分析为主。 本书适合相关领域工程师作为实际项目的参考,以及有志于通过研读源码掌握Android系统与Linux内核精髓的读者。
目 录
上篇 内核
第1章 ARM多核处理器
1.1 SMP相关基础数据结构
1.2 Percpu内存管理
1.2.1 内核显式定义的处理器局部数据
1.2.2 Percpu内存管理的建立
1.2.3 Percpu动态分配内存空间
1.3 CpuFreq
1.3.1 初始化
1.3.2 CpuFreq策略的建立
1.3.3 Ondemand调频算法分析
1.4 CPU0 bootupCPU1
1.4.1 CPU0 侧策略和动作
1.4.2 CPU1 侧执行路线
1.5 CPU1 的关闭
1.5.1 关闭时机
1.5.2 CPU1 关闭操作
1.6 ARM处理器展望
1.6.1 ARM架构处理器的演进
1.6.2 TrustZone
1.6.3 ARMVirtualization
第2章 异常
2.1 异常向量表
2.1.1 异常进入
2.1.2 异常表的构建
2.2 中断体系
2.2.1 CortexA9多核处理器的中断控制器GIC
2.2.2 MT6577的中断体系
2.2.3 Exynos4的中断体系
2.2.4 OMAP4的中断体系
2.3 中断处理
2.3.1 中断的基本结构
2.3.2 中断源识别
2.4 数据异常
2.5 处理器间通信
第3章 调度与实时性
3.1 Tick
3.1.1 Localtimer
3.1.2 Tick挂载
3.1.3 Tick产生
3.2 Fair调度类
3.2.1 Fair调度类的负载均衡
3.2.2 Fair调度类的处理器选择
3.3 RT调度类
3.3.1 RT调度类的基本结构
3.3.2 Rt_Bandwidth
3.3.3 负载均衡与抢占
3.3.4 基础操作
3.4 调度器
3.4.1 调度域的构建
3.4.2 调度器
3.5 唤醒
3.5.1 唤醒与抢占
3.5.2 跨处理器分发线程
3.5.3 抢占
第4章 Signal
4.1 信号发送
4.2 信号执行
4.2.1 路径切换
4.2.2 ARMLinux下信号执行环境的搭建
4.2.3 Signal处理函数的返回
4.2.4 系统调用重入
第5章 进程与进程内存
5.1 Linux进程
5.1.1 Fork
5.1.2 Exec新进程创建
5.2 CPU与MMU
5.2.1 ARMLinux页表页目录结构
5.2.2 页表页目录的建立
5.3 进程虚拟内存
……
第6章 缺页请页与内存Shrink
第7章 块设备
第8章 VFS
第9章 EXT4文件系统
第10章 RCU
第11章 MMCDriver
第12章 内核配置系统及内核调试
下篇 Dalvik与Android用户态源码分析
第13章 内存
第14章 进程与线程
第16章 Android系统初始
第17章 Interpreter与JIT
第18章 Binder
第19章 Class
第20章 Android应用框架
第21章 AndroidUI体系
第22章 ADB
第23章 Android浏览器的Webkit分析
第1章 ARM多核处理器
1.1 SMP相关基础数据结构
1.2 Percpu内存管理
1.2.1 内核显式定义的处理器局部数据
1.2.2 Percpu内存管理的建立
1.2.3 Percpu动态分配内存空间
1.3 CpuFreq
1.3.1 初始化
1.3.2 CpuFreq策略的建立
1.3.3 Ondemand调频算法分析
1.4 CPU0 bootupCPU1
1.4.1 CPU0 侧策略和动作
1.4.2 CPU1 侧执行路线
1.5 CPU1 的关闭
1.5.1 关闭时机
1.5.2 CPU1 关闭操作
1.6 ARM处理器展望
1.6.1 ARM架构处理器的演进
1.6.2 TrustZone
1.6.3 ARMVirtualization
第2章 异常
2.1 异常向量表
2.1.1 异常进入
2.1.2 异常表的构建
2.2 中断体系
2.2.1 CortexA9多核处理器的中断控制器GIC
2.2.2 MT6577的中断体系
2.2.3 Exynos4的中断体系
2.2.4 OMAP4的中断体系
2.3 中断处理
2.3.1 中断的基本结构
2.3.2 中断源识别
2.4 数据异常
2.5 处理器间通信
第3章 调度与实时性
3.1 Tick
3.1.1 Localtimer
3.1.2 Tick挂载
3.1.3 Tick产生
3.2 Fair调度类
3.2.1 Fair调度类的负载均衡
3.2.2 Fair调度类的处理器选择
3.3 RT调度类
3.3.1 RT调度类的基本结构
3.3.2 Rt_Bandwidth
3.3.3 负载均衡与抢占
3.3.4 基础操作
3.4 调度器
3.4.1 调度域的构建
3.4.2 调度器
3.5 唤醒
3.5.1 唤醒与抢占
3.5.2 跨处理器分发线程
3.5.3 抢占
第4章 Signal
4.1 信号发送
4.2 信号执行
4.2.1 路径切换
4.2.2 ARMLinux下信号执行环境的搭建
4.2.3 Signal处理函数的返回
4.2.4 系统调用重入
第5章 进程与进程内存
5.1 Linux进程
5.1.1 Fork
5.1.2 Exec新进程创建
5.2 CPU与MMU
5.2.1 ARMLinux页表页目录结构
5.2.2 页表页目录的建立
5.3 进程虚拟内存
……
第6章 缺页请页与内存Shrink
第7章 块设备
第8章 VFS
第9章 EXT4文件系统
第10章 RCU
第11章 MMCDriver
第12章 内核配置系统及内核调试
下篇 Dalvik与Android用户态源码分析
第13章 内存
第14章 进程与线程
第16章 Android系统初始
第17章 Interpreter与JIT
第18章 Binder
第19章 Class
第20章 Android应用框架
第21章 AndroidUI体系
第22章 ADB
第23章 Android浏览器的Webkit分析
评论
还没有评论。