当前位置:问答库>论文摘要

题目:跨平台Dalvik虚拟机系统的设计与实现

关键词:Dalvik;移植;JIT;虚拟机;编译;热路径

  摘要



在当今移动互联的形式下,终端设备的发展也非常迅猛,而随之而来的虚拟机相关技术终端设备领域中的地位也越来越重要,基于Android系统的Dalvik VM将完成App的整个运行,并支持线程操作和GC管理,同时 Dalvik VM也会对App进行相应的优化处理。传统的HotSpot[1] VM是基于栈的操作指令,而Dalvik则是基于寄存器架构,通过其特有的Dex字节码文件来完成对象的整个生命周期、系统堆栈、线程支持等管理及异常处理与安全检查,垃圾回收等重要功能。其底层架构由C/C++编写,并基于Linux内核,依赖内核提供的部分功能(如线程支持,内存等),在有限计算资源上表现优越的性能优势。基于Android的App在系统中有单独的Dalvik VM与之对应,程序在VM的解释或即时编译过程中进行运行。

本文着重针对Android Dalvik虚拟机中的类加载器模块、垃圾回收器(Garbage Collector,GC)模块、执行引擎(Execution Engine,EE)模块、线程管理模块等进行了深入的对比研究。对Dalvik的整体运行流程以及在实现过程中所涉及到的关键技术及其关键实现细节进行深入的分析研究。另外,结合研究内容和课题组的实际工作,给出了在不同体系架构(本文选择ARM)的移植实现及优化指南。

在当今移动互联的形式下,终端设备的发展也非常迅猛,而随之而来的虚拟机相关技术终端设备领域中的地位也越来越重要,基于Android系统的Dalvik VM将完成App的整个运行,并支持线程操作和GC管理,同时 Dalvik VM也会对App进行相应的优化处理。传统的HotSpot[1] VM是基于栈的操作指令,而Dalvik则是基于寄存器架构,通过其特有的Dex字节码文件来完成对象的整个生命周期、系统堆栈、线程支持等管理及异常处理与安全检查,垃圾回收等重要功能。其底层架构由C/C++编写,并基于Linux内核,依赖内核提供的部分功能(如线程支持,内存等),在有限计算资源上表现优越的性能优势。基于Android的App在系统中有单独的Dalvik VM与之对应,程序在VM的解释或即时编译过程中进行运行。

本文着重针对Android Dalvik虚拟机中的类加载器模块、垃圾回收器(Garbage Collector,GC)模块、执行引擎(Execution Engine,EE)模块、线程管理模块等进行了深入的对比研究。对Dalvik的整体运行流程以及在实现过程中所涉及到的关键技术及其关键实现细节进行深入的分析研究。另外,结合研究内容和课题组的实际工作,给出了在不同体系架构(本文选择ARM)的移植实现及优化指南。