图书介绍
拨云见日 基于android的内核与系统架构源码分析【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 王森著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302381990
- 出版时间:2015
- 标注页数:416页
- 文件大小:199MB
- 文件页数:430页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
拨云见日 基于android的内核与系统架构源码分析PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
上篇 内核2
第1章 ARM多核处理器2
1.1 SMP相关基础数据结构3
1.2 Percpu内存管理6
1.2.1 内核显式定义的处理器局部数据6
1.2.2 Percpu内存管理的建立8
1.2.3 Percpu动态分配内存空间13
1.3 CpuFreq15
1.3.1 初始化15
1.3.2 CpuFreq策略的建立16
1.3.3 Ondemand调频算法分析18
1.4 CPU0 bootup CPU119
1.4.1 CPU0侧策略和动作19
1.4.2 CPU1侧执行路线21
1.5 CPU1的关闭23
1.5.1 关闭时机23
1.5.2 CPU1关闭操作24
1.6 ARM处理器展望26
1.6.1 ARM架构处理器的演进26
1.6.2 TrustZone27
1.6.3 ARM Virtualization28
第2章 异常33
2.1 异常向量表33
2.1.1 异常进入33
2.1.2 异常表的构建35
2.2 中断体系37
2.2.1 Cortex A9多核处理器的中断控制器GIC37
2.2.2 MT6577的中断体系38
2.2.3 Exynos4的中断体系42
2.2.4 OMAP4的中断体系46
2.3 中断处理49
2.3.1 中断的基本结构49
2.3.2 中断源识别51
2.4 数据异常54
2.5 处理器间通信56
第3章 调度与实时性62
3.1 Tick62
3.1.1 Local timer62
3.1.2 Tick挂载63
3.1.3 Tick产生66
3.2 Fair调度类67
3.2.1 Fair调度类的负载均衡67
3.2.2 Fair调度类的处理器选择72
3.3 RT调度类73
3.3.1 RT调度类的基本结构73
3.3.2 Rt_Bandwidth76
3.3.3 负载均衡与抢占79
3.3.4 基础操作80
3.4 调度器82
3.4.1 调度域的构建82
3.4.2 调度器86
3.5 唤醒89
3.5.1 唤醒与抢占89
3.5.2 跨处理器分发线程91
3.5.3 抢占92
第4章 Signal99
4.1 信号发送99
4.2 信号执行102
4.2.1 路径切换102
4.2.2 ARM Linux下信号执行环境的搭建103
4.2.3 Signal处理函数的返回107
4.2.4 系统调用重入109
第5章 进程与进程内存111
5.1 Linux进程111
5.1.1 Fork111
5.1.2 Exec新进程创建112
5.2 CPU与MMU117
5.2.1 ARM Linux页表页目录结构117
5.2.2 页表页目录的建立120
5.3 进程虚拟内存122
5.3.1 Android进程虚拟内存的继承122
5.3.2 进程虚拟地址空间的获得127
第6章 缺页请页与内存Shrink129
6.1 缺页与请页129
6.1.1 File backed虚拟内存段操作函数130
6.1.2 File backed内存的请页131
6.1.3 匿名内存的请页134
6.1.4 COW访问135
6.2 内存Shrink137
6.2.1 Shrink操作shrink_page_list137
6.2.2 Clean Page142
6.2.3 脏页的监控143
6.3 全景图145
第7章 块设备148
7.1 Bdev文件系统148
7.2 块设备基础结构150
7.3 块设备的创建与注册152
7.4 分区检测生成156
7.5 块设备的打开157
7.6 块设备驱动的层次结构159
7.7 虚拟块设备161
第8章 VFS163
8.1 根目录163
8.1.1 根目录文件系统——initramfs165
8.1.2 Android ramdisk.img166
8.1.3 传统根目录文件系统加载方式166
8.2 文件打开166
8.2.1 目录的层级查找167
8.2.2 各层次操作函数的安装171
8.3 文件写172
8.3.1 文件写框架172
8.3.2 write_begin174
8.3.3 write_end176
8.4 脏页的提交与回写机制177
8.4.1 脏页的提交177
8.4.2 回写时机179
8.4.3 回写机制的层次操作183
8.4.4 节点层次的回写183
第9章 EXT4文件系统191
9.1 Android文件系统的选择191
9.2 EXT4文件节点191
9.2.1 EXT4 inode基础结构191
9.2.2 EXt4 raw inode的定位192
9.2.3 EXT4 inode的获取193
9.3 Mount195
9.4 EXT4文件写操作197
9.5 EXT4 journal199
9.6 Extent tree202
9.6.1 基础结构202
9.6.2 定位逻辑块的struct ext4_extent203
9.6.3 定位逻辑块左右侧的struct ext4_extent项205
9.7 块分配208
9.7.1 块组的buddy算法208
9.7.2 分配物理块217
9.8 逻辑块到物理块的映射225
第10章 RCU229
10.1 RCU tree229
10.1.1 RCU Tree结构229
10.1.2 RCU tree的构建230
10.2 Grace Period232
10.2.1 Grace Period的检测232
10.2.2 重新启动新一轮Grace Period235
10.3 RCU函数的执行237
第11章 MMC Driver238
11.1 MMC Driver238
11.1.1 MMC协议层238
11.1.2 MMC块设备239
11.2 开源手机U8836D(MT6577)分区的实现242
第12章 内核配置系统及内核调试246
12.1 Conf246
12.1.1 Kconfig元素246
12.1.2 Kconfig分析247
12.2 内核调试248
12.2.1 senix_printk249
12.2.2 LOG_BUF252
下篇 Dalvik与Android用户态源码分析258
第13章 内存258
13.1 Dalvik内存管理258
13.1.1 虚拟内存分配258
13.1.2 内存回收263
13.2 Ashmem265
13.3 GC267
13.3.1 对象Mark267
13.3.2 从Root对象集到普通对象268
13.3.3 GC与线程实时性270
第14章 进程与线程272
14.1 Dalvik虚拟机的进程272
14.2 Dalvik线程创建机制273
14.3 Android线程模型276
14.3.1 主线程的生成276
14.3.2 线程池线程的生成276
14.4 Java线程转换278
14.4.1 从Java到JNI278
14.4.2 从JNI到Java279
第15章 Bionic的动态加载机制283
15.1 Linker——用户态入口283
15.2 Linker主体——link_image284
第16章 Android系统初始287
16.1 Android入口287
16.2 Init——OS的入口289
16.2.1 RC文件分析289
16.2.2 RC动作执行294
16.2.3 RC的逻辑分析295
16.2.4 设备探测295
16.2.5 property库的构建297
16.2.6 Init的调试299
第17章 Interpreter与JIT301
17.1 解释器编译结构301
17.2 Dalvik寄存器编译模型301
17.2.1 Callee寄存器分配301
17.2.2 Caller寄存器分配303
17.2.3 outs的处理304
17.3 Portable Interpreter结构305
17.4 ASM Interpreter306
17.4.1 基本结构306
17.4.2 运行时模型与基本操作308
17.4.3 ASM Interpreter入口309
17.5 Interpreter的切换311
17.6 Dalvik运行时帧结构312
17.7 JIT313
17.7.1 热点检测313
17.7.2 Mode切换315
17.7.3 JIT提交316
17.8 Compile317
17.8.1 基础数据结构317
17.8.2 dalvik指令格式分析319
17.8.3 TraceRun分析319
17.8.4 MIR323
17.8.5 基本块的逻辑关系325
17.8.6 寄存器分配327
17.8.7 LIR332
17.8.8 Codecache334
17.9 Dalvik ART335
第18章 Binder336
18.1 Parcel336
18.1.1 C++层的Parcel336
18.1.2 Java层的Parcel337
18.2 Binder驱动338
18.2.1 Binder写339
18.2.2 Binder读344
18.3 C++层面346
18.3.1 本地与远端对象346
18.3.2 服务的建立349
18.4 Java层面350
18.5 service_manager351
第19章 Class352
19.1 系统类库352
19.1.1 Inital class352
19.1.2 ODEX文件的加载353
19.1.3 系统类库354
19.1.4 preloaded-classes355
19.2 类加载357
19.2.1 类加载框架357
19.2.2 类加载359
19.3 对象实体生成361
第20章 Android应用框架363
20.1 线程池线程363
20.1.1 C++层363
20.1.2 Java层365
20.2 系统侧Activity与Service的生成控制366
20.3 class ActivityThread368
20.3.1 MainLooper368
20.3.2 activity与service的加载370
第21章 Android UI体系371
21.1 窗口体系的生成371
21.2 ViewRoot与Surface372
21.3 编辑框实例分析373
21.3.1 ViewRoot获得系统侧代理对象373
21.3.2 焦点切换事件——主要Android UI机制的互动375
21.3.3 输入事件的处理376
21.3.4 编辑框的生成377
第22章 ADB379
22.1 ADB基本结构379
22.1.1 连接379
22.1.2 主线程381
22.1.3 主线程监测的文件句柄382
22.2 Transport382
22.2.1 初始化382
22.2.2 transport传输线程384
22.2.3 transport的管理386
22.3 Local服务389
22.3.1 Local服务的种类389
22.3.2 Local服务的形态391
22.3.3 SYNC服务392
第23章 Android浏览器的Webkit分析394
23.1 Webcore394
23.1.1 DOM与Rendering树生成394
23.1.2 事件的产生与分发397
23.2 V8 parser源码分析401
23.2.1 V8 parser处理脚本的层次402
23.2.2 Scope406
23.2.3 语法分析的入口Parser::ParseStatement(…)408
23.2.4 普通语句的分析409
23.3 指令生成415
热门推荐
- 1832793.html
- 1983230.html
- 1972967.html
- 3084166.html
- 3753904.html
- 899058.html
- 1544023.html
- 2199240.html
- 3896858.html
- 725892.html
- http://www.ickdjs.cc/book_996269.html
- http://www.ickdjs.cc/book_3758343.html
- http://www.ickdjs.cc/book_2712693.html
- http://www.ickdjs.cc/book_298500.html
- http://www.ickdjs.cc/book_1885916.html
- http://www.ickdjs.cc/book_1641844.html
- http://www.ickdjs.cc/book_1575475.html
- http://www.ickdjs.cc/book_1769149.html
- http://www.ickdjs.cc/book_140408.html
- http://www.ickdjs.cc/book_3735866.html