当前位置:主页 > 科技论文 > 计算机论文 >

基于栈结构的虚拟机研究与实现

发布时间:2018-09-14 09:55
【摘要】:在应用软件的开发中,虚拟机的概念对于解决软件开发中核心问题,如代码可维护性,系统健壮性,具有重要的指导性作用。不但在早期计算机的软硬件设计方面,起到核心作用,在现实的软件开发中,特别是嵌入式系统上,仍具有重要的指导性。同时由于虚拟机的复杂性,分析和实现虚拟机系统需要的文献资料和设计实例,不是缺少完整性,就是在对应联系方面缺少指导性。本论文着重解决此矛盾。 虚拟机是解决计算机软件、硬件日益升级换代与应用开发及维护日益复杂的一种有效的解决方案。本文作为工科应用论文,实现了内核结构小巧且完整的栈式虚拟机,对虚拟机设计的算法和结构结合具体实例给出了完整的算法实现,同时提供了高级语言Csmart及其编译器,从而构成了一个有很好参考性的完整的虚拟机解决方案。 虚拟机在实现的架构选择上,有两种实现方式,基于栈结构和基于寄存器结构,而这两种方式直接关系到虚拟指令系统的设计方式,栈结构对应于精简指令系统,而基于寄存器方式则对应复杂指令系统。由于栈式结构可以很容易实现CPU中通用寄存器的软件功能,从而使得虚拟机上的应用能更好的可移植性。本文将要介绍的虚拟机就是基于栈结构的虚拟机。通过对这两种实现方式的分析和研究,特别是对基于栈结构java虚拟机实现的研究,实现了一个基于栈结构的小巧但完整的虚拟机SVM(Stack-based virtual machine)。SVM的的核心设计部分,虚拟运行时系统和指令解析器部分的数据结构和算法上,化繁为简,图文并茂,条理突出,对虚拟机设计者提供很好的,在学术和实践方面有很强的参考性。 同时,虚拟机需要一个高级语言和相应编译系统才能有效的开发应用。本文实现的虚拟机的高级语言为Csmart,其是抽取C语言的一个子集来定义的,易于理解,简单实用,不但增强SVM参考性,同时对于高级语言的编译和代码生成给出了简洁又不是完整的叙述。Csmat的编译器是采用递归下降的方式实现的。这种方式的创新点在于将Csmart程序的扫描分析(词法和语法)和代码生成在一次扫描中完成,可以将语言结构简单的Csmart有效的编译成机器码,而且实现编译器的代码量少且结构简单。 通过一篇论文的篇幅介绍了一个小巧但功能完整的虚拟机系统,对于虚拟机设计和实现,编译原理的实践和研究都有具有很好的参考价值。
[Abstract]:In the development of application software, the concept of virtual machine plays an important guiding role in solving the core problems in software development, such as code maintainability and system robustness. Not only in the early computer hardware and software design, play a central role, in the actual software development, especially on the embedded system, still have important guidance. At the same time because of the complexity of the virtual machine the literature and design examples needed to analyze and implement the virtual machine system are either lack of integrity or lack of guidance in the corresponding connection. This paper focuses on resolving this contradiction. Virtual machine is an effective solution for computer software, hardware upgrading and application development and maintenance. As an engineering application paper, this paper implements a compact and complete stack virtual machine with a small kernel structure. The algorithm and structure of virtual machine design are implemented in combination with concrete examples. At the same time, a high-level language Csmart and its compiler are provided. Thus constitutes a very good reference of the complete virtual machine solution. There are two ways to implement virtual machine in architecture selection, one is based on stack structure and the other is based on register structure, and these two ways are directly related to the design of virtual instruction system, and the stack structure corresponds to the reduced instruction system. The register-based mode corresponds to the complex instruction system. Because the stack structure can easily realize the software function of the general register in CPU, the application on the virtual machine can be more portable. The virtual machine that this article will introduce is the virtual machine based on stack structure. Based on the analysis and research of these two methods, especially the implementation of java virtual machine based on stack structure, the core design of a compact but complete virtual machine (Stack-based virtual machine). SVM) based on stack structure is realized. The data structure and algorithm of the virtual runtime system and the instruction parser are simplified, illustrated and well organized, which can provide a good reference for the virtual machine designer and have a strong reference in academic and practical aspects. At the same time, the virtual machine needs a high-level language and corresponding compilation system to develop and apply effectively. The high-level language of virtual machine implemented in this paper is Csmart, which is defined by a subset of C language. It is easy to understand, simple and practical, and not only enhances the reference ability of SVM. At the same time, the compilation and code generation of high-level languages are given a concise but not complete description. Csmat compiler is implemented by recursive descent. The innovation of this approach is that scanning analysis (lexical and grammatical) and code generation of Csmart programs can be completed in a single scan, which can effectively compile Csmart with simple language structure into machine code. Moreover, the code of the compiler is little and the structure is simple. A small but complete virtual machine system is introduced in this paper, which has good reference value for the design and implementation of virtual machine and the practice and research of compiling principle.
【学位授予单位】:西南交通大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP302

【相似文献】

相关期刊论文 前10条

1 陈显祥;;用虚拟机搭建教学实验环境[J];贵州商业高等专科学校学报;2007年01期

2 杜化美;张更路;吴亚峰;;虚拟机在实验教学中的应用[J];电脑知识与技术;2008年14期

3 孙昱;李小勇;管海兵;;虚拟机实时迁移技术研究[J];微型电脑应用;2008年07期

4 龙瑞;伍红兵;俞海英;胡勇强;;虚拟机在全国计算机等级考试机试中的应用[J];电脑知识与技术;2008年30期

5 孙宁;;一台电脑变多台 虚拟机大揭秘[J];电脑爱好者;2008年21期

6 李会聪;;虚拟机在多媒体教室管理中的应用探讨[J];信息技术;2009年05期

7 孙跃进;;浅谈好帮手——虚拟机[J];中国科技信息;2010年12期

8 付小林;;谈虚拟机在中小学信息技术教学中的应用[J];中国教育信息化;2010年08期

9 梁健菁;;虚拟机在多媒体教学中的应用[J];科技信息;2011年15期

10 王佳;;虚拟机的安全分析与管理[J];太原城市职业技术学院学报;2011年11期

相关会议论文 前5条

1 韦万贵;;虚拟机软件在实际工作中的应用[A];甘肃成人教育协会2008年年会论文集[C];2008年

2 李永;吴庆波;苏航;;基于虚拟机的动态迁移技术分析和研究[A];计算机技术与应用进展·2007——全国第18届计算机技术与应用(CACIS)学术会议论文集[C];2007年

3 王轶;陈俊辉;;使用VPC2007搭建企业应用和测试平台[A];2007第二届全国广播电视技术论文集2(下)[C];2007年

4 董焱;;基于虚拟化技术的实验教学中心环境构建[A];北京高校实验室工作研究会2010年年会优秀论文[C];2011年

5 董焱;;基于虚拟化技术的实验教学中心环境构建[A];北京高教学会实验室工作研究会2010年学术研讨会论文集(下册)[C];2010年

相关重要报纸文章 前10条

1 特约作者:聂阳德 钟达文;体验虚拟机的神奇魅力[N];电脑报;2002年

2 黄树;实战虚拟机软件[N];中国电脑教育报;2004年

3 卿晨;虚拟机为网络教学收紧成本口袋[N];中国电脑教育报;2007年

4 ;虚拟机管理工具仍有改进空间[N];网络世界;2007年

5 四川工程职业技术学院 江平;虚拟机助力计算机教学[N];中国电脑教育报;2006年

6 区阳;微软推出首款虚拟机软件[N];中国计算机报;2003年

7 丁士明;联想虚拟化解决方案[N];中国计算机报;2007年

8 特约作者 滔滔江水;计算机也能虚拟[N];电脑报;2002年

9 ;虚拟化市场增长近五成[N];网络世界;2006年

10 本报特约撰稿 陈杰;虚拟化:制度下的安全[N];计算机世界;2009年

相关博士学位论文 前5条

1 陈微;基于动态二进制翻译的协同设计虚拟机关键技术研究[D];国防科学技术大学;2010年

2 马飞;云数据中心中虚拟机放置和实时迁移研究[D];北京交通大学;2013年

3 王晓静;I/O虚拟化的性能隔离和优化[D];华中科技大学;2012年

4 张逢U,

本文编号:2242375


资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2242375.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户93f96***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com