[comp.sys.amiga] Virtual Machine

ford@crash.CTS.COM (Michael Ditto) (11/09/87)

In article <17213@glacier.STANFORD.EDU> jbn@glacier.UUCP (John B. Nagle) writes:
>     Real multiple-operating-system machines do exist.  This requires
>what is known as a "hypervisor", an operating system whose users are
>operating systems themselves.
> [ ... ]
>     Interestingly, the M68000, when provided with an MMU, has enough 
>support to allow a hypervisor.  But I have never heard of one being written.

The 68000 can not fully support a MMU (It does not save enough state
information during a page fault).  The 68010 works fine for this, though.

There is one other problem with using the 68000 to run a virtual machine
(or hypervisor, as you call it):  Some operating system code can be called
either from supervisor or user mode and needs to look at the supervisor-bit
in the status register to see what mode the CPU is in.  On the 68000 this
bit can be looked at by user programs (such as the "guest" OS), and therefore
would cause problems for such an OS running on a virtual machine.  The
68010 handles this problem as well, by making the status register readable
only in supervisor mode (the condition codes can always be read).  That way
the "real" OS can handle the privilege violation in an appropriate way.

I beleive Motorola has used virtual machine techniques to develop and test
some of their operating systems.

Followups have been directed at comp.sys.m68k.
-- 

Mike Ditto					-=] Ford [=-
P.O. Box 1721					ford%kenobi@crash.CTS.COM
Bonita, CA 92002				ford@crash.CTS.COM