《拨云见日:基于android的内核与系统架构源码分析》包括上下两篇内容。上篇在保证完整Linux内核架构分析的前提下,着重分析Android系统中强烈依赖的Linux内核机制,如多核ARM架构的支持,而略去Android系统产品化没有用到内核机制,如SWAP机制。下篇主要分析Android系统层主要架构机制,尤其注重分析这些用户态机制与内核机制的接驳与交互。《拨云见日:基于android的内核与系统架构源码分析》整理自作者多年积累的笔记,形式以源代码分析为主。《拨云见日:基于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 CPU0bootupCPU
- 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 基础操作