KVM中的MVM 和 SVM

编程入门 行业动态 更新时间:2024-10-24 04:36:18

<a href=https://www.elefans.com/category/jswz/34/1768800.html style=KVM中的MVM 和 SVM"/>

KVM中的MVM 和 SVM

KVM中的MVM 和 SVM



MVM:在phoneMEFeature中是Master-modeVirtual Machine,“主模式虚拟机”。也可理解为Multi-taskingVirtual Machine,即多任务虚拟机。

SVM:Slave-modeVirtual Machine,从模式虚拟机。

传统的Java虚拟机运行在单任务模式下,每一个运行的Java应用程序都需要启动一个操作系统进程来运行一个Java虚拟机实例。在这样的情况下,由于每个Java虚拟机实例在创建和初始化的过程中都会重复占用某些资源,在运行时又有大量的运行时数据无法共享,造成了系统资源的浪费。多个应用程序之间的切换也是进程级的,导致程序切换速度较慢。而Java多任务虚拟机的思想就是用来解决多个应用程序同时运行的时候的资源与性能问题。

MVM的设计思想是用isolate的概念来封装单个的应用程序,而所有的isolate都运行在同一个Java虚拟机进程当中,由虚拟机来为它们分配资源和调度执行。由于在MVM的架构下可以大量地共享内存,减少因为重复加载class文件所需的I/O操作,并且多个应用程序的运行是在同一个操作系统进程内的,所以切换操作的开销非常低。这样的设计能大大提高整个系统的启动速度、数据吞吐量和减少资源占用。

 

MVM与SVM在很多方面的处理是不同的,如:

1.      在SVM模式下,MIDletSuiteLoader处理所有MIDletsuites;而MVM模式下,MIDletSuiteLoader只处理第一个MIDletsuite,该MIDlet suite被MIDPAMS和其他内部MIDlets使用。

2.      在SVM模式下,getCurrentIsolateId()直接返回0;而MVM模式返回当前isolateID。

3.      在SVM模式下,getMaxIsolates()直接返回1;而MVM模式返回允许的最大isolate个数。

4.      在MVM模式下,有很多资源是可以在各个isolates间通过cache共享的,但只有AMSisolate 才能写该cache。


更多推荐

KVM中的MVM 和 SVM

本文发布于:2024-02-27 06:39:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1705550.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:KVM   MVM   SVM

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!