论文部分内容阅读
虚拟机(Virtual Machine,VM)是相对我们平常所用的实际的计算机而言的一个概念,它是一个假想的模拟实际计算机进行工作的软件系统,同真实计算机一样,虚拟机有自己的中央处理器,指令系统,存储器组织,寄存器组,堆栈,输入输出等,可以接受指令系统的指令,完成计算或数据处理任务。虚拟机的优点之一是计算机程序可以在不同的操作系统之间复用,即实现程序的跨平台,Java虚拟机的设计思想正体现了这一特点。 本文以Java虚拟机技术为主要研究对象,比较深入地分析和研究其一些关键技术,并用C/C++设计和实现一个基于Windows平台的小型虚拟机软件系统TVM(Tiny Virtual Machine),主要做了以下工作: 首先了解Java虚拟机的基本运行环境,如PC寄存器、JAVA栈、堆以及框架等,又以Kaffe(一个Java虚拟机的实现)为例,对Java虚拟机的运行过程进行分析。 其次研究了Java虚拟机的内存管理机制,如垃圾回收技术,并对其内存泄漏以及性能等问题作了探讨。 然后对TVM虚拟机的工作过程进行分析并给出其总体设计思路,接着实现TVM虚拟机,其中包括虚拟中央处理器、存储器组织以及指令系统等的设计与实现。 最后为TVM虚拟机设计和实现一个汇编器TA,并对整个TVM虚拟机系统进行测试验证,同时也与JAVA虚拟机作了比较。