多任务虚拟机(MVM)系统架构的研究与应用-计算机应用技术专业论文.docx

多任务虚拟机(MVM)系统架构的研究与应用-计算机应用技术专业论文.docx

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多任务虚拟机(MVM)系统架构的研究与应用-计算机应用技术专业论文

万方数据 万方数据 摘要 摘 要 Java 虚拟机本身是一个与平台相关的应用程序,而 Java 程序被编译成符合 Java 虚拟机规范的二进制代码,由 Java 虚拟机来解释执行这些二进制代码,或者 对这些二进制代码进行优化并翻译成本地代码之后执行。由于 Java 虚拟机广泛运 行于各种嵌入式设备,这些设备往往对运行环境的要求比较苛刻,它们本身大多 只具有有限的存储资源,处理器的处理能力比较差,而且还会受到功耗的限制。 因此现代的虚拟机都采用了即时编译与自适应编译等本地代码翻译技术来提升 Java 虚拟机的执行效率和减小资源占用。 传统的 Java 虚拟机都是单任务模式,即为每一个运行的 Java 应用程序都需要 启动一个操作系统进程来运行一个 Java 虚拟机实例。在这样的情况下,由于每个 Java 虚拟机实例在创建和初始化的过程中都会重复占用某些资源,在运行时又有 大量的运行时数据无法共享,造成了系统资源的浪费。多个应用程序之间的切换 也是进程级的,导致程序切换速度较慢。而 Java 多任务虚拟机,即 Multi-tasking Virtual Machine 的思想就是用来解决多个应用程序同时运行的时候的资源与性能 问题。 MVM 的设计思想是用 Isolate 的概念来封装单个的应用程序,而所有的 Isolate 都运行在同一个 Java 虚拟机进程当中,由虚拟机来为它们分配资源和调度执行。 由于在 MVM 的架构下可以大量地共享内存,减少因为重复加载 class 文件所需的 I/O 操作,并且多个应用程序的运行是在同一个操作系统进程内的,所以切换操作 的开销非常低。这样的设计能大大提高整个系统的启动速度、数据吞吐量和减少 资源占用。 本文对传统的 Java 虚拟机结构进行分析,在此基础上来详细分析 MVM 的架 构和具体实现。最后在具体的 MVM 平台上实现一个 SVM 与 MVM 兼容的标准手 机信息接口 WMA 来验证 MVM 架构在性能与可扩展性和易用性等方面的优势。 关键词:Java 虚拟机,多任务虚拟机,Isolate,WMA 实现 I ABSTRACT ABSTRACT The Java Virtual Machine itself is a platform dependent application. While Java source code is compiled to Java byte code which is defined by Java specification and Java VM can execute the byte code stream. Because Java VM runs on different kinds of embedded systems, these platforms usually have only a few resources for Java VM. So Java VM should be designed more effectively and required less resources. Traditional Java VM is called Single-instance VM, the system must launch a VM process for each running application. In this condition, every Java VM process will require and allocate memories and other resources repeatedly; also runtime data cannot be shared during these VM processes running. So this is a abundant waste for the host platform. Here’s another question, if the user wants to switch between applications, the cost will be very high because of OS process switch. And Java Multi-tasking VM is designed to resolve the bottleneck. The design philosophy of MVM is share as many resources and runtime data structures as possible. MVM use the “Isolate” concept to encapsula

文档评论(0)

peili2018 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档