On Sun, Jan 30, 2000 at 04:09:44PM -0800, Adam Crews wrote:
> It is slow on loading the first app after boot, in addition to opening
> apps after several have been opened and closed before it.

> The simple fact is that things will be slower because the virtual PC is
> emulated.  For me, this is too slow to use on my laptop.  On the
> otherhand, my desktop machine usually has NT4, win95 and 1 or 2 linux
> sessions running under vmare at a time.

        No no no no no....

        The virtual PC is a virtual machine.  That is a very distinct
concept.  It is NOT an emulation (like Wine).  The actual binaries run
"on the iron" and it's only when it has to perform a "protected" function
that it traps to a supervisory operation.  This is very different from
an emulation which reads each instruction and performs it on behalf of
the program.  Emulators CAN run on incompatible iron (a SPARC can emulate
and x86) but a virtual machine can not.

        Note:  In a former life I was a XENIX kernel jock who had to deal
with virtual machines and machine code emulation in x286.  I can tell you
some horror stories about virtual machines and what you have to go through.
We had one condition under which we screwed up because an instruction (an
interrupt return) was autonomous in the hardware but we had reenabled
interrupts too soon allowing the RETI to be interrupted.  The result was
a stack corruption that turn a return variable into an infinite loop that
occured about one every three or four days on a heavily loaded system...
(Think about tracking that one down for a minute).

        The ultimate goal (which can NOT be reached by all Intel processors
under all circumstances) is that an operating system running in a virtual
machine can not tell it is in a virtual machine (thus implying that virtual
machines can be directly nested) and that the "supervisory state" can not be
determined with certainty, because it can be perfectly mimic by the virtual
machine manager itself (thus implying that the system doing the mimicry
can, itself, be mimiced and virtualized).

        Unlike emulation, the host application process in a virtual
machine is NOT in control of the virtual machine applications until
the application executes some machine instruction which results in
a supervisory trap back to the host application.  An intense number
cruncher that does very few OS calls, would run at close to 100% its
native speed.  Applications which are OS intensive are going to trap
to large operations that perform at host OS speed.  It's the ones
in between that perform a lot of computation with a lot of simple
OS calls (disk or network intensive) that will be the slowest.

> -Adam

        Mike
-- 
 Michael H. Warfield    |  (770) 985-6132   |  [EMAIL PROTECTED]
  (The Mad Wizard)      |  (770) 331-2437   |  http://www.wittsend.com/mhw/
  NIC whois:  MHW9      |  An optimist believes we live in the best of all
 PGP Key: 0xDF1DD471    |  possible worlds.  A pessimist is sure of it!

Reply via email to