本系列丛书共分2卷,本书为第1卷,是一本以情景方式对Android的源代码进行深入分析的书,内容广泛,主要从Dalvik虚拟机整体结构、获取和编译Dalvik虚拟机的源码、源码分析辅助工具使用、.dex文件及Dalvik字节码格式解析、Dalvik虚拟机下的系统工具介绍及Dalvik虚拟机执行流程简述等方面进行阐述,帮助读者从宏观上了解Dalvik虚拟机的架构设计,为有兴趣阅读Dalvik虚拟机源码的读者提供必要的入门指导。第1卷共6章:第1章为准备工作,在这一章中主要介绍了Dalvik虚拟机的功用、分析Dalvik源码所用到的主要方法以及如何搭建Dalvik源码分析环境;第2章为源码分析辅助工具介绍,包括Vim、Doxygen、GDBSERVER等;第3章为Dex文件以及Dalvik字节码格式分析;第4章为系统工具介绍,在这一章中主要介绍了Dalvik虚拟机的一些重要系统工具,通过对系统工具的介绍,让读者对虚拟机内部的实现机制更加清晰;第5章为Dalvik虚拟机执行流程简述,通过这一章的介绍,旨在让读者对Dalvik虚拟机的整体功能架构有一个宏观的认识,为后续进一步掌握各个功能模块的原理功能做好相应的知识铺垫;第6章为调试支撑模块,在这一章中主要介绍了调试支撑模块的基本原理。 通过阅读本书,让读者了解Dalvik虚拟机在Android应用程序运行过程中所扮演的重要角色及其不可替代的价值;同时对Android应用程序的执行过程有更加细致的了解,可以帮助读者优化自己编写的应用程序,更加合理地设计应用程序结构,有效提高应用程序的运行速度。
本系列丛书共分2卷,本书为第2卷,在第1卷的基础上,采有情景分析的方式对Android Dalvik虚拟机的源代码进行了有针对性的分析,围绕类加载、解释器、即时编译、本地方法调用、内存管理及反射机制等功能模块展开分析,主要帮助读者从微观上更深入地理解Dalvik虚拟机中各功能模块的实现原理及运行机制。第2卷共6章,第1章介绍类加载机制,包括其整体的工作流程和机制,详细讲解了其中的三个阶段,并以一个实例验证了源码分析的结果;第2章介绍了Dalvik虚拟机中至关重要的内存管理机制,详细讲解了其实现的两种算法;第3章分析了JNI模块的实现原理,在分析源码的基础上,细致入微地介绍了为何用JNI编程会提升程序的执行效率;第4章以反射机制的一个代码示例开始,介绍了其涉及的API,并从宏观到微观详细介绍了反射机制;第5章介绍了实现解释器的两种不同的技术,比较了Fast解释器和Portable解释器的不同及各自的优劣势,第6章从介绍最近在解释器中非常火的JIT(即时编译)开始,到JIT的所谓的前端分析,再到JIT的后端代码生成,为本书画上一个圆满的句号。通过阅读本书,读者可以了解Dalvik虚拟机在Android应用程序运行过程中所扮演的重要角色及其不可替代的价值。通过阅读本系列丛书,读者可以对Android应用程序的执行过程有更加细致的了解,可以帮助读者优化自己编写的应用程序,更加合理地设计应用程序结构,有效提高应用程序的运行速度。
本书在介绍计算机系统结构的基本概念、原理、结构和分析方法的基础上,着重阐述了计算机系统的并行化技术,旨在帮助学生在建立计算机系统的完整概念,充分掌握计算机系统结构的最新研发思想与技术。本书共分5章。第1章论述计算机系统的概念及其设计原则,通过对冯·诺依曼计算机模型指令集的分类,简要阐述计算机系统发展的脉络及与体系结构发展密不可分的核心领域的现状与发展,最后简单介绍几种先进的微体系结构;第2章论述流水线的基本概念、分类及性能计算方法,并以DLX模型为实例详细描述流水线执行的关键技术,并对流水线中相关和冲突问题进行重点阐述;第3章通过指令级并行概念的介绍,详细阐述实现指令级并行的关键技术和算法;第4章为“存储系统”,重点讲述虚拟存储系统,Cache存储系统及并行主存系统;第5章详细介绍输入输出系统,讲述总线类型、控制及通信方式,并详细阐述中断系统及总线与CPU及存储器的通信原理。本书可作为高等院校计算机专业的高年级本科生或研究生的教材,也可作为从事计算机体系结构或嵌入式系统设计的工程技术人员的参考书。