"进程虚拟机"与"系统虚拟机"的区别。

15

进程虚拟机和系统虚拟机有什么区别?

我猜想进程虚拟机并不为整个应用程序提供操作系统,而是为某些特定应用程序提供环境。而系统虚拟机则提供了一个类似于VirtualBox的安装操作系统的环境。
我的理解正确吗?


另一个问题是系统虚拟机的两种实现方式:托管型和独立型有何区别。

我是一名学习操作系统的初学者,希望能够得到简单易懂的答案 :)


相关链接:http://opensourceforu.com/2011/06/virtual-machines-for-abstraction-dalvik-vm/ - smwikipedia
2个回答

31

进程虚拟机,有时也被称为应用程序虚拟机,以普通应用程序的形式在主机操作系统中运行,并支持单个进程。当该进程启动时创建,在退出时销毁。其目的是提供一个独立于平台的编程环境,抽象出底层硬件或操作系统的细节,并允许程序在任何平台上以相同的方式执行。

系统虚拟机提供完整的系统平台,支持执行完整操作系统(OS),就像你所说的VirtualBox就是一个例子。

主机虚拟机是虚拟机的服务器组件,它提供底层硬件的计算资源来支持客户虚拟机(guest VM)。


4
这段文字只是从维基百科复制粘贴的。我不怪你,但是Wine进程虚拟机真的是虚拟机吗?我相信JVM是虚拟机,但我对Wine不太确定。 - john c. j.
进程虚拟机是否与仿真概念相关联,或者我走错了方向? - Ali Akber Faiz

2
以下内容来自http://airccse.org/journal/jcsit/5113ijcsit11.pdf: 系统虚拟机 系统虚拟机提供了一个完整的虚拟硬件平台,支持执行完整操作系统(OS)。 使用系统虚拟机的优点是:
  • 多个操作系统环境可以在同一台硬件上并行运行,并且彼此之间具有强隔离性。
  • 虚拟机可以提供与真实机器略有不同的指令集结构(ISA)
主要缺点是:
  • 由于虚拟机间接访问相同的硬件,效率受损。
  • 在同一物理机上运行多个虚拟机可能会导致性能差异,具体取决于系统所承载的工作负载。实施适当的隔离技术可以解决这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接