拨云见日
¥
21.77
3.2折
¥
69
九五品
仅1件
作者王森 著
出版社清华大学出版社
ISBN9787302381990
出版时间2015-01
版次1
装帧平装
开本16开
纸张胶版纸
页数416页
字数99999千字
定价69元
上书时间2024-04-29
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:拨云见日
定价:69.00元
作者:王森 著
出版社:清华大学出版社
出版日期:2015-01-01
ISBN:9787302381990
字数:668000
页码:416
版次:1
装帧:平装
开本:B5开
商品重量:
编辑推荐
内容提要
本书包括上下两篇内容。上篇在保证完整Linux内核架构分析的前提下,着重分析Android系统中强烈依赖的Linux内核机制,如多核ARM架构的支持,而略去Android系统产品化没有用到内核机制,如SWAP机制。下篇主要分析Android系统层主要架构机制,尤其注重分析这些用户态机制与内核机制的接驳与交互。本书整理自作者多年积累的笔记,形式以源代码分析为主。本书适合相关领域工程师作为实际项目的参考,以及有志于通过研读源码掌握Android系统与Linux内核精髓的读者。
目录
上篇内核章ARM多核处理器21.1SMP相关基础数据结构31.2Percpu内存管理61.2.1内核显式定义的处理器局部数据61.2.2Percpu内存管理的建立81.2.3Percpu动态分配内存空间131.3CpuFreq151.3.1初始化151.3.2CpuFreq策略的建立161.3.3Ondemand调频算法分析181.4CPU0bootupCPU1191.4.1CPU0侧策略和动作191.4.2CPU1侧执行路线211.5CPU1的关闭231.5.1关闭时机231.5.2CPU1关闭操作241.6ARM处理器展望261.6.1ARM架构处理器的演进261.6.2TrustZone271.6.3ARMVirtualization28第2章异常332.1异常向量表332.1.1异常进入332.1.2异常表的构建352.2中断体系372.2.1CortexA9多核处理器的中断控制器GIC372.2.2MT6577的中断体系382.2.3Exynos4的中断体系422.2.4OMAP4的中断体系462.3中断处理492.3.1中断的基本结构492.3.2中断源识别512.4数据异常542.5处理器间通信56第3章调度与实时性623.1Tick623.1.1Localtimer623.1.2Tick挂载633.1.3Tick产生663.2Fair调度类673.2.1Fair调度类的负载均衡673.2.2Fair调度类的处理器选择723.3RT调度类733.3.1RT调度类的基本结构733.3.2Rt_Bandwidth763.3.3负载均衡与抢占793.3.4基础操作803.4调度器823.4.1调度域的构建823.4.2调度器863.5唤醒893.5.1唤醒与抢占893.5.2跨处理器分发线程913.5.3抢占92第4章Signal994.1信号发送994.2信号执行1024.2.1路径切换1024.2.2ARMLinux下信号执行环境的搭建1034.2.3Signal处理函数的返回1074.2.4系统调用重入109第5章进程与进程内存1115.1Linux进程1115.1.1Fork1115.1.2Exec新进程创建1125.2CPU与MMU1175.2.1ARMLinux页表页目录结构1175.2.2页表页目录的建立1205.3进程虚拟内存1225.3.1Android进程虚拟内存的继承1225.3.2进程虚拟地址空间的获得127第6章缺页请页与内存Shrink1296.1缺页与请页1296.1.1Filebacked虚拟内存段操作函数1306.1.2Filebacked内存的请页1316.1.3匿名内存的请页1346.1.4COW访问1356.2内存Shrink1376.2.1Shrink操作shrink_page_list1376.2.2CleanPage1426.2.3脏页的监控1436.3全景图145第7章块设备1487.1Bdev文件系统1487.2块设备基础结构1507.3块设备的创建与注册1527.4分区检测生成1567.5块设备的打开1577.6块设备驱动的层次结构1597.7虚拟块设备161第8章VFS1638.1根目录1638.1.1根目录文件系统——initramfs1658.1.2Androidramdisk.img1668.1.3传统根目录文件系统加载方式1668.2文件打开1668.2.1目录的层级查找1678.2.2各层次操作函数的安装1718.3文件写1728.3.1文件写框架1728.3.2write_begin1748.3.3write_end1768.4脏页的提交与回写机制1778.4.1脏页的提交1778.4.2回写时机1798.4.3回写机制的层次操作1838.4.4节点层次的回写183第9章EXT4文件系统1919.1Android文件系统的选择1919.2EXT4文件节点1919.2.1EXT4inode基础结构1919.2.2EXt4rawinode的定位1929.2.3EXT4inode的获取1939.3Mount1959.4EXT4文件写操作1979.5EXT4journal1999.6Extenttree2029.6.1基础结构2029.6.2定位逻辑块的structext4_extent2039.6.3定位逻辑块左右侧的structext4_extent项2059.7块分配2089.7.1块组的buddy算法2089.7.2分配物理块2179.8逻辑块到物理块的映射2250章RCU22910.1RCUtree22910.1.1RCUTree结构22910.1.2RCUtree的构建23010.2GracePeriod23210.2.1GracePeriod的检测23210.2.2重新启动新一轮GracePeriod23510.3RCU函数的执行2371章MMCDriver23811.1MMCDriver23811.1.1MMC协议层23811.1.2MMC块设备23911.2开源手机U8836D(MT6577)分区的实现2422章内核配置系统及内核调试24612.1Conf24612.1.1Kconfig元素24612.1.2Kconfig分析24712.2内核调试24812.2.1senix_printk24912.2.2LOG_BUF252下篇Dalvik与Android用户态源码分析3章内存25813.1Dalvik内存管理25813.1.1虚拟内存分配25813.1.2内存回收26313.2Ashmem26513.3GC26713.3.1对象Mark26713.3.2从Root对象集到普通对象26813.3.3GC与线程实时性2704章进程与线程27214.1Dalvik虚拟机的进程27214.2Dalvik线程创建机制27314.3Android线程模型27614.3.1主线程的生成27614.3.2线程池线程的生成27614.4Java线程转换27814.4.1从Java到JNI27814.4.2从JNI到Java2795章Bionic的动态加载机制28315.1Linker——用户态入口28315.2Linker主体——link_image2846章Android系统初始28716.1Android入口28716.2Init——OS的入口28916.2.1RC文件分析28916.2.2RC动作执行29416.2.3RC的逻辑分析29516.2.4设备探测29516.2.5property库的构建29716.2.6Init的调试2997章Interpreter与JIT30117.1解释器编译结构30117.2Dalvik寄存器编译模型30117.2.1Callee寄存器分配30117.2.2Caller寄存器分配30317.2.3outs的处理30417.3PortableInterpreter结构30517.4ASMInterpreter30617.4.1基本结构30617.4.2运行时模型与基本操作30817.4.3ASMInterpreter入口30917.5Interpreter的切换31117.6Dalvik运行时帧结构31217.7JIT31317.7.1热点检测31317.7.2Mode切换31517.7.3JIT提交31617.8Compile31717.8.1基础数据结构31717.8.2dalvik指令格式分析31917.8.3TraceRun分析31917.8.4MIR32317.8.5基本块的逻辑关系32517.8.6寄存器分配32717.8.7LIR33217.8.8Codecache33417.9DalvikART3358章Binder33618.1Parcel33618.1.1C++层的Parcel33618.1.2Java层的Parcel33718.2Binder驱动33818.2.1Binder写33918.2.2Binder读34418.3C++层面34618.3.1本地与远端对象34618.3.2服务的建立34918.4Java层面35018.5service_manager3519章Class35219.1系统类库35219.1.1Initalclass35219.1.2ODEX文件的加载35319.1.3系统类库35419.1.4preloaded—classes35519.2类加载35719.2.1类加载框架35719.2.2类加载35919.3对象实体生成361第20章Android应用框架36320.1线程池线程36320.1.1C++层36320.1.2Java层36520.2系统侧Activity与Service的生成控制36620.3classActivityThread36820.3.1MainLooper36820.3.2activity与service的加载370第21章AndroidUI体系37121.1窗口体系的生成37121.2ViewRoot与Surface37221.3编辑框实例分析37321.3.1ViewRoot获得系统侧代理对象37321.3.2焦点切换事件——主要AndroidUI机制的互动37521.3.3输入事件的处理37621.3.4编辑框的生成377第22章ADB37922.1ADB基本结构37922.1.1连接37922.1.2主线程38122.1.3主线程监测的文件句柄38222.2Transport38222.2.1初始化38222.2.2transport传输线程38422.2.3transport的管理38622.3Local服务38922.3.1Local服务的种类38922.3.2Local服务的形态39122.3.3SYNC服务392第23章Android浏览器的Webkit分析39423.1Webcore39423.1.1DOM与Rendering树生成39423.1.2事件的产生与分发39723.2V8parser源码分析40123.2.1V8parser处理脚本的层次40223.2.2Scope40623.2.3语法分析的入口40823.2.4普通语句的分析40923.3指令生成415
作者介绍
序言
— 没有更多了 —
以下为对购买帮助不大的评价