- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
svm 虚拟机设计本科论文
目 录
1 绪论 1
1. 1课题背景及目的 1
1.1.1为什么要设计虚拟机 1
1.1.2虚拟机反对派观点 3
1.2国内外研究状况 3
1.3课题研究方法 3
1.4论文构成及研究内容 4
2 SVM 虚拟机设计 4
2.1运形时系统与虚拟机 4
2.2 SVM 虚拟机 5
2.3 SVM虚拟机处理器设计 6
2.3.1 机器处理器设计 6
2.3.2 SVM虚拟机处理器设计 8
2.4 SVM内存分配 9
2.5 SVM内存寻址 9
2.6 SVM 多字节存储方式 10
2.7 SVM输入输出 11
2.8 SVM 中断 11
2.9 SVM 汇编器 18
2.10 SVM 反汇编器 20
2.11 SVM 调试器 20
2.11.1概述 20
2.11.2调试技术 21
2.11.3 SVM 调试器的实现 21
2.12 建造运行时系统 22
2.13 SVM 虚拟机的扩展 22
3 SVM 虚拟机运行时环境 24
3.1SVM执行方式 24
3.2 SVM调试方式 25
4 程序设计处理 29
4.1程序设计中的宏处理 29
4.2程序设计中的异常处理 30
总 结 33
致 谢 35
参考文献 36
1 绪论
1. 1课题背景及目的
1.1.1为什么要设计虚拟机
就软件工业的发展趋势而言,一方面是需要运行在多种计算机平台之上的实用系统越来越多,另一方面是以网络为中心的计算情况越来越多,虚拟机也重新成为软件工业的一个潮流。
基于单一操作系统的软件开发工具已经不能满足软件工程师的需要。
面对杂乱的信息系统和日新月异的技术发明,软件工程师们开始重新审视开发虚拟机的优点。
编写虚拟机是软件开发项目的一种,它体现了一种使投资价值最大化的思路。为了从资源方面的投资得到最大的回报,企业都希望自己花钱开发出来的软件的使用期限能够尽可能地长。把软件包从一种平台移植到另一种平台的工作需要花费不小的成本,而且并不是所有的软件包都能够移植到所有的平台上去,软件包所能支持的平台种数是有限度的。大量事实表明,软件移植工作往往会变成一场噩梦。
使用虚拟机就可以在一定程度上避免这类事情的发生。当遇到一种新硬件平台或者新操作系统的时候,唯一需要移植的应用级软件就是虚拟机本身[1]。
1.1.2虚拟机反对派观点
有不少人反对使用虚拟机,他们的观点有许多种,其中最主要的就是虚拟机会降低程序的执行性能。他们认为,编译型语言——如C语言——是以计算机自身的机器码的形式执行的,因此会执行得更快些。但这种说法并不一定正确。
纯粹的C++代码并不一定比由虚拟机执行的字节码(byte code)更快。程序的执行时间主要消耗在运行时库以及内核模式中断处理例程方面,只有当处理的代码是完全孤立且没有调用任何用户库或系统调用时(因为程序要等待系统的响应)才能百分之百肯定其机器码会执行得更快。
对于企业应用级系统,虚拟级在可移植方面的优势足以弥补这些其实并慢不了多少的性能损失[1]。
1.2国内外研究状况
一个商业级的虚拟机实现是极其复杂的,一个开源虚拟机bochs 做得很好,其2.0.2版在Win32平台下的有13万行源代码(C/C++)。能在其上运行minux(linux 前身),FreeDSB, Windows95,Windows NT 4.0等操作系统。
另一种虚拟机有自己的指令集,它是针对一种语言来设计和实现的。比如JVM(JAVA virtual machine JAVA 虚拟机)。.NET平台。而由JVM所支持的JAVA语言,目前正得到广泛的应用。
1.3课题研究方法
一台虚拟机与一台真实存在的计算机的不同之处在于前者只是一个技术规范。这类技术规范由一系列规则构成,而软件工程师可以采用任何他自己认为适当的手段来实现这些规则。这就使虚拟机能够做到与具体的计算机平台无关。对一台虚拟机来说,只要它能够遵从其技术规范里的各项规则,就可以存在于任何一种计算机平台上,就可以用任何一种计算机语言来编写[1]。
我的毕业设计所做的虚拟机采用标准C/C++语言编写,在结构上模仿了8086计算机体系结构。
1.4论文构成及研究内容
本论文作为对虚拟机开发的一个尝试,实现的部分偏重于CPU也即指令执行部件。而对于虚拟机这个运行时系统的另一个很重要的部分——中断处理,由于涉及面太广,故只是象征性的实现了INT 10H 0EH中断(向屏幕输出),INT 20H中断(退出程序)。
我做的虚拟机取名为SVM(simple virual machine)——简单的虚拟机。
论文中将主要说明整个SVM虚拟机的设计实现过程,由于涉及到编程语言C/C++,也参考了一些程序设计书上的内容,在文中一并写出来。
(以后略……)
2 SVM 虚拟机设计
2.1运形时系统与
您可能关注的文档
- 40钢冶金学80t顶吹氧气转炉本科论文.doc
- 40基于单片机的汽车行驶状态记录仪系统的软件设计本科论文.doc
- 50基于jsp的网上购物系统设计本科论文.doc
- 50基于单片机的电梯调度系统设计与实现 本科论文.doc
- 51单片机电子信息工程数字加热设备温度控制器本科论文.doc
- 80系列微型风冷活塞式压缩机设计(v80ii) 本科论文.doc
- 140th干熄焦初步设计总论本科论文.doc
- 110kv变电站电气一次系统设计b5本科论文.doc
- 160万吨焦化初步设计 本科论文.doc
- 180型液压挖掘机行走机构减速器设计本科论文.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)