[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

on virtuality (was Re: VMWare)



On Wed, 17 Mar 1999 13:05:21 -0500 (EST), <hetz@mail.dream.co.il> wrote:

>Well, lets concentrate on this product.

>You should also remember that this is the first product which is not SO
>very revolutionary. Insignia & connectix did it before on other
>processors, and if they see the VMWare got some market - they'll jump in.
Lets make the distinction here:

The product *IS* revolutionary because Insignia's product (Soft PC) and
Connectix (The Playstation emulator, whatever it's called) DOES NOT create a
virtual machine. Instead, it totally emulates the processor, which is in some
ways harder (you could say it takes more work) and in some ways easier (The
virtual machine runs under your complete control because *you* emulate the
processor).

The point is that these products were *not* revolutionary, because compute
remulations were here almost since day zero (Z80 emulators on a PC for running
CP/M programs were here 15 years ago. Anybody remember these?)
I wrote a 8080 emulator on a 6502 machine, about 12-15 years ago, and I know
what it requires.

VMWare *IS* revolutionary because it use the native mode of the host CPU to
run the guest VM on. While this sounds easier in theory (hey, you don't need
to emulate a new CPU) this is in fact much more complex!

Why? Because you have to make sure that the guest VM can't "feel" that it's
running in an emulated environment ("sandbox"). For example, any access to a
VGA must be trapped and emulated. Emulating the hardware registers is not hard
(it's been done by ANY emulator, including bochs and Insignia).

What's new here is that VMware is the first program not only to make a simple
sandbox for user programs (like any protected mode O/S does - Linux and NT
both do this), but instead it's "sandbox" is actually emulating all the
protection violations as if the sandbox is the entire machine, and not one
task in many.

Why wasn't this done before? My guess is that since it's a known fact that the
X86 is not truely virtualizable, no one bothered even trying.

By using the term fully virtualizable I mean that the CPU has the ability to
trap and emulate in user mode any operation that might hint the user mode
software that it's running in user mode! For example, if the register
containing the user/supervisor mode bit is reabable in user mode, than a guest
O/S could determie it's not running in supervisor mode, and refuse to run! On
a true VM architecture, reading this register would be trapped, and an
"emulated" value would be returned by the host O/S to the guest VM.

The X86 is known to be NOT fully virtualizable. Since I don't know the
intricate details of the x86 protected more architecture (as much as I would
really like), I can't tell you where the holes are, but they DO exist. An
example of a CPU family where this hole did not exist is the 68K line by
motorola (actually only the 68010 and up. In fact, almost all the difference
between the 68000 and the 68010 was this virtuality thing).

As a simple proof, you can see that some O/S *DO NOT* run under VMware yet,
and eve more, you CAN'T run VMware under itself. If the x86 was truly
virtualizable, and VMware was written correctly, you could run a copy of
VMware under VMware itself!

The moment an x86 vendor would offer a variant which is fully virtualizable
(and we'll have VMware-like software to take advantage of this mode), I would
be the first in line to buy it.

>Just like Xi Graphics (Accelerated X) vs Metro, so the price will go
>really fast down.. (anyone remember that Accel-X for laptop used to cost
>400-500$?)
Actually, once this has been done once, I'm sure somebody will start an open
source project to do this.

>Performance:
>------------
>For most Linux users who have been using their P200 and less powerfull
>processor, this program is worthless. 
First, let's wait until 1.0 is out. The current Beta has tons of assertions.
Second, have you ran the program with all the optimized drivers? I haven't had
the chance to try them yet, but they should also increase the speed
considerably. The standard VGA driver is accessing the VGA hardware registers
which are trapped by the VM. The VMWare display driver can potentially bypass
this trapping and handle the Windows GDI calls at a much higher levels (like
every 2D accelerator).

>You should also MUST have at least 96MB RAM (and yes, I tried it with my
>PII 350 with 64MB with KDE - it was sllllooooww. I tried it with fvwm only
>and it was faster)

So what? RAM is cheap and getting cheaper all the time. I bought my previous
computer (A P90 overclocked to P100) at June 1995 with 32MB of RAM. At the
time, I got the RAM at a bargain price of 30$/MB (Yes! that was a bargain
price then!). Don't tell me I can't have 128MB or even 256MB if this is what
takes to run 2-3 O/S in parallel and it saves me constantly rebooting my
machine. FYI, SDRAM is now at less than 1 $/MB. Lots of RAM could be the
cheapest way to accelerate your machine.
The Sun workstations at my work are loaded with 512MB or 1GB of RAM (When you
run Synopsis for building a million gate chip you need AT LEAST that amount of
time).

>Problems:
>---------
>Although the program runs nicely, it got troubles with Hebrew. If you use
>the VGA screen driver (NOT the one the VMWare gives you), then you can
>switch to full screen (thanks to DGA 1.1), or a windowed screen, BUT once
>you'll install their VMWARE-tools and use their SVGA driver, then you
>won't see the text on the menus (I tried it with Windows 98 Enabled). One
>other effect with their SVGA driver is that when you switch to full
>screen, you'll see your screen in the center with 640x480, NOT your full
>screen windows, so basically Israeli users of win 98 are a bit "stuck" in
>the middle with their SVGA driver and cannot use full colours. Ofcourse if
>you intend to use Word only - then you don't have any problem at all..

I have just tried the plain software (not the VMware Xfree variant neither
their windows display driver), but the above sounds like a typical beta bug,
not a fundamental architectural flaw.

>Any comments? mail me privately.
Well, I thout this might interest the whole list.

>Hetz

Well, that was long. Time to do some REAL work!

Udi