论文摘要
Java编程语言是继C和C++之后的又一种流行的商业软件开发语言,己被广泛的应用于各种开发领域。Java的体系结构能帮助程序员适应不断发展的硬件环境,这归功于Java虚拟机提供的能力——安全性、平台无关性和网络移动性。正是基于这些优点,Java虚拟机在各种平台的开发中显得越来越重要。而如何获得一个性能稳定、功能完善的Java虚拟机,也就成为了每个平台开发商追求的目标。Jikes RVM这个开源的Java虚拟机及时出现为苦苦追求性能稳定,功能完善的Java虚拟机的人们带来了福音。Jikes RVM不仅本身集成了最新的虚拟机技术,更重要的是它提供了一个灵活的测试平台,可以在这个测试平台上建立新的虚拟机技术的原型和试验各种各样的设计方案。目前,在嵌入式开发领域中对嵌入式Java虚拟机的研究正处于高速发展的时期,各种嵌入式Java虚拟机层出不穷,然而像Jikes RVM那样本身既可作为优秀的虚拟机又可以作为虚拟机技术的研究平台的虚拟机几乎没有。鉴于以上情况,本文在对Jikes RVM虚拟机的设计架构和在PowerPC/Linux上的实现进行深入研究和剖析的基础上,提出了基于ARM/ARMLiux的嵌入式Jikes RVM的设计和实现。在实现上分为两个大的阶段,第一阶段实现Jikes RVM的原型,第二阶段对原型进行完善和优化。文中着重论述了在实现第一阶段目标过程中遇到的问题和解决办法。基于ARM/ARMLinux实现Jikes RVM不仅能为JikesRVM在其它嵌入式平台上移植提供重要的价值参考,更重要的是能提供一个针对ARM系列构架下嵌入式Java虚拟机技术的研究平台。
论文目录
摘要ABSTRACT第一章 绪论1.1 JAVA的历史1.2 JAVA虚拟机研究现状1.3 论文组织第二章 JAVA 虚拟机规范2.1 JAVA虚拟机介绍2.1.1 程序计数器2.1.2 Java 栈2.1.3 堆2.1.4 本地方法栈2.1.5 执行引擎2.1.6 JNI 及其原理2.2 JAVA代码的运行过程2.3 本章小结第三章 JIKESRVM 的设计架构3.1 类模型及内存分配3.1.1 JikesRVM 中对象的访问3.1.2 线程的栈帧3.2 核心运行时子系统3.2.1 异常3.2.2 动态类装载3.2.3 输入输出系统3.2.4 反射3.3 线程和同步子系统3.3.1 锁3.3.2 线程调度3.3.3 管程3.4 内存管理子系统3.4.1 并发对象分配3.4.2 从变化到回收3.4.3 并行垃圾回收3.4.4 性能问题3.5 编译子系统3.6 JIKESRVM启动和MAGIC调用3.6.1 启动3.6.2 MAGIC 调用3.7 本章小结第四章 JIKES RVM 的动态优化编译器4.1 从字节码到中间表示(INTERMEDIATE REPRESENTATION)4.2 高级优化4.3 低级优化4.4 指令选择和特定于机器的优化4.5 优化的级别4.6 操作的形态4.7 本章小结第五章 项目分析5.1 业内形势5.1.1 嵌入式Linux 大势所趋5.1.2 广泛的ARM 应用5.2 目标平台简介5.2.1 ARM 处理器结构简介5.2.2 ARMLinux 简介5.3 实现规划5.3.1 实现目标5.3.2 找到工作核心5.4 JIKES RVM编译器模块分析5.5 本章小结第六章 设计与实现6.1 设计策略6.1.1 借鉴PowerPC 的实现6.1.2 尽量减少系统改动6.2 JIKES RVM的约定6.2.1 寄存器分类6.2.2 栈约定6.3 对寄存器的分配6.4 同步机制的实现6.4.1 Magic 准备和尝试Processor.vpStatus'>6.4.2 保护VMProcessor.vpStatus6.5 应用的二进制接口6.6 大端、小端问题6.6.1 字节的大端、小端的问题6.6.2 字的大端小段问题6.7 寄存器06.8 定长的偏移量和操作数问题6.9 系统陷阱实现6.10 浮点数处理6.11 本章小结第七章 工程经验7.1 本项目的阶段目标设定7.2 异常来驱动修改7.3 调试JIKES RVM7.4 跨平台编译7.5 本章小结第八章 结论和展望8.1 结论8.2 后续工作8.2.1 工程工作8.2.2 研究方面工作参考文献致谢附录:测试结果附录一:字节码测试结果附录二:汇编指令覆盖情况个人简历攻读硕士学位期间研究成果一、科研项目二、发表论文
相关论文文献
标签:虚拟机论文; 嵌入式平台论文;