Dalvik虚拟机结构与性能的研究

来源 :吉林大学 | 被引量 : 0次 | 上传用户:ChengpCN
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着移动网络的发展,移动设备更新速度也很快,虚拟机技术在移动设备领域发挥着重要的作用。Google公司与多个移动设备厂商共同推出的Android平台是嵌入式的操作系统,目前Android平台已经推出到了3.3 Honeycomb版本,此版本主要用于平板电脑。Dalvik虚拟机是Android平台上的虚拟机,Dalvik虚拟机负责Android平台上应用程序的运行,提供平台的多线程支持以及内存垃圾收集,同时Dalvik虚拟机会在执行应用程序的各个阶段优化平台上的应用程序。语言编译阶段通过dex工具生成dex文件,减小程序文件的大小,消除部分无用代码。在编译阶段Dalvik虚拟机在2.1版本之后使用即时编译器,将程序中的“热点”编译成目标机器码,加速程序的运行。Dalvik虚拟机是Android平台的基石,Dalvik的性能决定了Android平台的性能。针对移动设备特点,Dalvik虚拟机使用dex文件格式保存编译之后的程序,每个class文件使用异构的常量池存放数据,在dex文件中,将多个class文件合并为一个dex文件,文件使用5个同构的常量池:stirng_ids,type_ids,proto_ids,field_ids,method_ids。Dex文件把常量分为这5类,并且分别存入不同的常量池,大幅削减了程序需要的内存空间,通过实验dex文件大小仅仅是jar文件的50%左右。不同于HotSpot虚拟机基于栈的操作指令,Dalvik虚拟机的指令集是基于寄存器的,虚拟寄存器中存放操作数,执行过程中指令从虚拟机寄存器中取出操作数并运算,最后将数据放回寄存器中。Dalvik虚拟机使用基于寄存器的指令集充分发挥了ARM系列芯片的多寄存器特点,将虚拟机寄存器映射到对应的芯片寄存器上,有效的减少了程序运行过程中的数据移动,加快了程序的运行速度。在并行运行方面,Dalvik虚拟机支持多线程,由于基于Linux内核,Dalvik采用了Zygote进程模型,这种模型类似于Linux的fork进程。Dalvik的即时编译器有两种状态:方法级的即时编译和路径级的即时编译。方法级的即时编译器对资源的消耗比较大,但是能提供更高的顶峰速度,路径级的即时编译器的编译粒度小,占用的资源少。本文中简单介绍了路径级即时编译器的路径树构建方法以及路径树编译,Dalvik虚拟机在充电时使用方法级的即时编译,用电池作为电源时使用路径级的即时编译,所以Android平台运行速度在充电时会快一些。
其他文献
无论回顾过去10年高校发展历程中的合并与重组,还是预计2030年中国的人口将到达顶峰,届时国内大学入学生源减少,进而,教育规模萎缩,高校将面临合并与重组,一个学校同时有多个
[目的]颞叶癫痫是临床上常见的难治性癫痫,由于颞叶与脑内其他脑区间的广泛联系,患者临床上常出现广泛的脑功能损害。本研究联合静息态功能磁共振成像(resting functional ma
报纸作为一种传统的视觉传播媒体,与我们的生活息息相关,并扮演着极其重要的角色。然而当今媒体市场竞争异常激烈,报纸如何在众多媒体竞争中脱颖而出,吸引住广大读者群,除了
本文紧紧围绕文化软实力建设与当代中国马克思主义大众化的基本关系问题,以党的十七大以来的重要文献为依托,在对相关研究成果进行扬弃与吸收的基础上,以马克思主义的基本方
城市商业银行自1995年组建至今发展了十几年,逐步摆脱了最初的生存危机,现在已经开始走上良好发展的道路。然而在公司治理问题上,不少城市商业银行缺乏完善的公司治理,仍然延
智能视频技术近年来已经成为高校、科研机构的研究热点,它涉及的应用广泛性和对人们生活、生产极大的帮助作用也越来越受到人们的重视。本文通过对传统基于视频的运动检测中
脉冲压缩和模糊函数是雷达信号中的关键技术。常规脉冲雷达为了增大雷达探测距离,在发射机峰值功率受到限制的情况下,通常采用增加发射脉冲宽度,提高平均功率的方法;而为了得
高速滚动轴承广泛应用于航空航天领域。高速轴承重要失效形式是轻载打滑和零件的不稳定性,其中保持架的设计尤为重要,实践和研究表明,高速滚动轴承的保持架打滑和不稳定而造
磨损可以引起风电机组机械传动系统发生故障和工作寿命降低,油液检测是判断磨损状况的主要手段。目前,针对国内油液检测周期长、成本高,测定方法复杂,人工处理数据和信息的现
目的对行动态血糖监测的老年2型糖尿病患者的资料进行回顾性调查,探讨老年2型糖尿病患者血糖波动的临床特征及控制目标。方法研究对象为2007年1月~2011年1月期间行动态血糖监