`
sjk2013
  • 浏览: 2182762 次
文章分类
社区版块
存档分类
最新评论

评论: VMWare Workstation 3.1 vs Virtual PC 4.3.2 vs Bochs 1.4

 
阅读更多

英文原文:Review: VMWare Workstation 3.1 vs Virtual PC 4.3.2 vs Bochs 1.4

开源的Bochs,VMware的VMware Workstation和Connectix公司的Virtual PC是三种用于虚拟化和仿真x86硬件的应用程序,让我们可以在一个宿主操作系统上运行各种不同的操作系统。这意味着你可以在Windows,Linux(或者Macintosh)上运行Linux或FreeBSD或其他客户操作系统,既可以以窗口模式运行,也可以以全屏模式运行。但是三者中哪个拥有更高的性价比?免费的Bochs怎么样?

Runtime Vs Emulation(运行时与仿真)

首先,我们要澄清一个许多人困惑不解问题。VMware Workstation和Virtual PC不是想Bochs一样的仿真器(Emulators)。虽然它们的输出相同,但是它们的工作方式确不同。

Bochs仿真x86硬件和一些它的外设,这使得Bochs拥有不同平台和架构间的可移植性。但仿真硬件也使得Bochs比VirtualPC和VMware Workstation慢很多倍。Bochs运行DLX-Linux

从技术上讲,VirtualPC在某种程度上介于VMware Workstation和Bochs之间。VirtualPC 4.03的x86版本很大部分是仿真的,其他部分是虚拟的(virtualized)。然而VirtualPC 5的Macintosh版本却不同于其x86版本,前者是100%的仿真,和Bochs采用相同方式。Virtual PC 1

VMware Workstation只仿真了特定的I/O功能,其余的都是由其x86运行时引擎(runtime engine)执行的。这意味着客户操作系统(guest OS)请求的指令或者行为,VMware将传递给实际的硬件来执行,而不是重新制造轮子(这里指,重新创建一个仿真的硬件环境)来仿真它们。比如,VMware Workstation显卡驱动或者24位VESA会将其执行需求传递给宿主机的物理显卡,而不是试图仿真一个显卡。VMware中安装Red Hat

VMware Workstation通过它的运行时引擎赢得了速度,而Bochs和VirtualPC赢得了可移植性。这难以两全其美,需要折中考量。

Overview(概论)

因此,什么情况应该使用VMware Workstation和VirtualPC?更重要的是,什么情况下确实需要它们?很多人觉得VMware太贵。然而,这些用户并不知道这两个应用程序(特别是VMware Workstation)不是针对那些会经常花时间安装操作系统或者仅仅为了geekish(技术狂热,像我这样)的用户。

VirtualPC中安装Red Hat

VMware Workstation目标用户是企业用户和运行大型软件。比如,Microsoft和Red Hat会是VMware Workstation的客户,因为他们需要使用VMware测试和开发他们的操作系统。这是非常方便的,特别是你需要测试产品的国际化时。这要比浪费大量时间安装50次不同语言的操作系统省事儿的多。

VirtualPC更接近终端用户。易用的界面、较少的调试或高级选项、支持较少的操作系统,再加上公司的定位说明他们讲终端用户和大公司同等看待。

就支持的宿主机操作系统而言,VMware Workstation支持Windows 2000/XP和Linux。VirtualPC支持Windows 9x/ME、NT/2k/XP、OS/2和MacOS 9/X。Bochs支持更多平台,包括*BSD和BeOS。

就支持的客户操作系统而言,VMware Workstation支持更多的Linux和FreeBSD版本。但是,VirtualPC提供另一个特性:它也能运行不支持的操作系统。比如,OpenSTEP可以运行(很慢,但是确实可以运行),BeOS可以运行(只要在全屏的情况下初始化它的VESA即可)。Bochs仅仅支持某些特定版本的操作系统,而且在以VESA或者VGA模式运行时很不稳定。

VMware中Linux/KDE

安装

Bochs包只有2MB大小,然而VirtualPC和VMware Workstation的包将近20MB。商业包用易用的安装包的形式发布,而Bochs则是.zip文件,使用前需要手工修改配置文件。Bochs不是面向大众用户的,因为用户需要对其硬件有一些了解。

VPC和VMware Workstation会在你的宿主系统中安装网络驱动,以用于允许客户操作系统访问网络和互联网。我发现VMware Workstation仿真的AMD网卡不能在Red Hat上正常工作。我必须使用命令行手工启动网卡(Gnome图形界面也不能工作)。VirtualPC在Red Hat Linux 7.2作为客户系统时工作正常。

我不喜欢VirtualPC处理CD-ROM和软盘的方法。你经常需要手工处理这些外设,连接和释放它们。比如,我插入了第一张安装CD并执行。到我插入第二张CD时,虚拟机找不到这张CD。新手可能很茫然,为什么我插入的CD在虚拟机里没识别,但是上一张却识别了。解决办法是在VPC菜单中重新连接(grab)CD-Rom(或软盘)。问题是这样不方便用户使用,特别是你需要处理很多软盘或CD时。VMware Workstation的做法是:只要你在客户系统的设置里适当设置,它就会自动加载软盘或CD,相应地,也提供了卸载的设置项。

VirtualPC中Linux/KDE

性能(Performance)

我的PC是一台dual Celeron FPGA 533 MHz(不支持SSE)。我改述我之前的措辞“我的PC是一台低端的dual Celeron...”,但是我不会。根据最近的投票,我的PC的速度处于大众水平。

Bochs的速度是最差的,但是另一方面,你可能不会用它运行图形化的操作系统。Bochs是一个开发工具。因此只要它返回了你需要的调试信息,Bochs就是达到目的了。

真正的性能之战在VirtualPC和VMware Workstation之间。

VMware下的Linux/Gnome

在我的测试中,VMware赢得了所有测试,除了文本模式渲染速度和在RH 7.2上的安装速度。比如,它需要3.5小时安装两张Red Hat CD上的1800MB文件,而VirtualPC用了2.5小时。我相信其原因是VMware Workstation的安装是在VGA模式下运行,而VirtualPC则是在VESA模式或者它仿真的S3 Trio64芯片模式(可能是VESA)下运行。至于文本模式速度,VMware Workstation需要振作起来(get their act together),因为我在/目录下执行“ls -l”时,可以看到更新屏幕时的花纹。VirtualPC在这种情况下则非常平稳。

在加载上面安装的Red Hat和加载X11时,情况恰好相反:

Virtual PC花了228秒执行到登录界面,而VMware Workstation只用了94秒。

Virtual PC on MacOSX

VirtualPC在X11下不能用 - 我不能在可忍受的速度下运行KDE。比如,我必须要等待30-40秒去加载Konqueror浏览器,等待4-5秒去打开一个菜单,甚至在某些比较耗CPU的地方卡住。貌似VirtualPC比VMware Workstation需要更多CPU资源,因此如果你离开虚拟环境一会儿,你会发现宿主操作系统非常慢。

在VMware Workstation中,KDE和Gnome都是可用的。不论是全屏模式还是1280X1024窗口模式下,都运行良好。而用Virtual PC时,只要高于800X600,就会很慢,但是Connectix公司居然说VirtualPC的最低配置是266MHz,推荐配置是500MHz的CPU。我用了一个双核533,都不可忍受。我也在配有双核450的奔三、512MB内存的Win98上试过VirtualPC,用OpenSTEP作为客户系统,同样很慢。

VMware Workstation图形模式存在的唯一问题是有时候鼠标会消失。这并不是由于CPU负载导致,而是随机发生的,因此我认为我找到了一个bug而不仅仅是一个已知的限制。

VirtualPC慢的原因可能是它仿真了S3 Trio图形卡,而VMware Workstation把操作传递给了一个虚拟的图形驱动。

VirtualPC Virge仿真的优势在于通过仿真和支持一种存在的标准卡,它可以更好的支持其他操作系统(不被VMware Workstation和VPC支持的),如BeOS,QNX,OS/2等等。在测试中VPC的确比VMware Workstation更好的的运行了BeOS(在VMware Workstation中我发现了24位VESA问题,IDE问题)。然而,其他的测试显示SkyOS在VPC上很慢,而在VMware Workstation上时可用的。AtheOS(经过曲折尝试)也成功在VMware Workstation上执行。

在MacOSX中,在一台类似于我的533 Celerons的机器上,这是一台G4 Cube 450MHz,448MB SDRAM的机器,Virtual PC比在PC上的性能更好。我听说Mac和PC版本的代码是不同的,因此这种对比可能是不公平的。

在MacOSX中,VirtualPC支持声卡仿真,而在PC上,Virtual PC和VMware Workstation都没有声音。仿真声卡是比较有趣的(tricky),因为涉及时间问题(the timing issues)。

在稳定性方面,VirtualPC最近几个周崩溃了3-4次,VMware Workstation从未崩溃。至于Bochs,崩溃是常有的(有时是Bochs的问题,有时是我配置错误)。

结论

我认为,做应用程序开发时,VMware Workstation或者VPC是比较好的选择。但是在做低级系统软件开发时(如,写一个操作系统或者一个编译器),Bochs是你所需要的。在你用Bochs执行源代码后你需要知道被仿真硬件的精确读写周期或状态,而不是实际硬件传回的结果。这也是为什么许多爱好操作系统的开发者更喜欢Bochs,而不是VPC或VMware。问题是,Bochs还是有不少bug,速度又慢,对奔腾处理器的支持也是问题多多。它需要重新编译以支持P5,而且对奔腾的仿真效率不高 - 它也不能仿真奔腾之外的任何其他东西。但是它能仿真2路和4路SMP,这对于OS开发来说是一个重要的特性。

VMware中AtheOS

至于Connectix的VirtualPC,只有在运行文本模式操作系统是可接受的。但是无论你是否使用配置更强大的机器运行它,我都不建议用它运行图形操作系统。Macintosh版本倒是还可以,在较新的G4机上时可用的。但是PC版还有待优化。

如果非要选出一个获胜者,显然是VMware Workstation。VMware Workstation仍有很大的提升空间,主要是PC的compliance领域(如,更好地支持IDE和VESA)。这会使VMware更好的支持许多其他小众操作系统。但是就算是以目前的情况来看,VMware Workstation也是用户和专业人士们的最好选择。

整体评分

VMware Workstation: 8.5 / 10
Virtual PC: 7 / 10
Bochs: 6 / 10

测试配置:

Dual Celeron 2x533 MHz
Abit BP6 motherboard, BX chipset, latest BIOS
3Dfx Voodoo5 64 MB AGP
256 MB SDRAM main memory
IBM 80 GB 120GXP drive on standard IDE ATA-33
Matshita 4x DVD-ROM
SBLive! OEM PCI Rev. 4
3Com 3c509-TX PCI network card

Host 操作系统

Windows XP PRO

Guest 操作系统

Red Hat Linux 7.2 (was given 128 MB of RAM and 3 GB of virtual partition space)
BeOS 5
OpenSTEP
DLX-Linux
AtheOS
SkyOS

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics