OT: Mac OSX

Kurt Granroth plug-discuss at granroth.org
Sun Mar 26 11:32:28 MST 2006


Jay wrote:
> On Sat, 25 Mar 2006, Kevin Brown wrote:
> 
>>> Well, for the same reason I run windows inside of VMWare... so I
>>> don't need to reboot for a Windows app.
>>
>> VMware is not the same as Virtual PC.
>  
> They are different pieces of software but they effectively do the same
> thing. Both allow you to create virtual machines that run on your
> desktop inside of your current host OS.
> 
> I used VMware years ago when I did Linux on my desktop/laptop. Now that
> Linux only lives on my servers and OS X is my primary desktop OS, I use
> Virtual PC. I found both to be excellent products. The last time I
> dual-booted was the mid-90's and I was thrilled to kiss that practice
> goodbye forever. Virtual machines are very good stuff.

I hear what you're saying and, of course, you are right that they do
similar things in the end.  However, this is one case where I think the
details really matter.  I've used both VMWare and Virtual PC and while
they do both run Windows (and x86 Linux), they couldn't be more
different in *how* they do it.

VMWare isn't really an emulator... or at least it's not a full-blown
emulator.  That is, it emulates most of the devices, but passes along
nearly all CPU instructions directly to the CPU.  There are a few
esoteric instructions that need to be rewritten dynamically, but those
are the exception rather than the rule.  The end result of this is that
running an OS in VMWare has a very similar "feel" to running the OS on
the bare hardware.  It seems that most people say that the performance
is 80% of native... but I don't know what "they" are measuring in that
case.  I do know that for operations that don't involve much disk
access, the performance between a VMWare virtualized OS and the native
OS is very similar.

Virtual PC is an emulator.  It's a very smart emulator, but an emulator
none-the-less.  It takes all CPU instructions and dynamically rewrites
(and caches) them before sending them to the CPU.  This extra overhead
has a dramatic impact on performance.  It's sloooooooow.  To be fair,
I've only run Virtual PC on a 1.25Ghz G4 (1G memory) and that's no speed
demon... but the performance was shockingly bad.  It was nowhere near
usable for my purposes.  Back in the day, I used VMWare on a 800Mhz
Athlon with far less memory (384M) and it was noticeably slower than
native, but still very usable.

YMMV!

It'll be interesting to see what happens to Virtual PC with the new x86
Macs now that they don't have to emulate all of the CPU instructions
anymore.  And since these chips (I think) have the VT virtualization
feature, I wonder if they could get close to 100% of the performance out
of a virtualized OS.

Kurt


More information about the PLUG-discuss mailing list