[comp.sys.amiga] Apollo

jbn@glacier.STANFORD.EDU (John B. Nagle) (11/06/87)

     You aren't running several operating systems on the Apollo, you're
running a number of emulators on top of its native mode operating system.
This is good, in that everybody accesses the same files and uses the same
distributed file system over the network.  Much better than "disk partitioning".
But don't expect to run executable images created on a non-Apollo system on
an Apollo; compatibility is at the source code level only.

     Real multiple-operating-system machines do exist.  This requires
what is known as a "hypervisor", an operating system whose users are
operating systems themselves.  IBM mainframes under
VM are the best known example.  VM partitions the system into virtual 
machines that can look like a real machine.  One can then boot an operating
system into the partition.  One can even boot VM under VM (under VM, if
desired) but performance suffers.  Good for development, though.  This
takes hardware support; the CPU must be able to trap all attempts to access
device hardware in such a way that the hypervisor can see what the
attempted access was, emulate it appropriately, and return control cleanly
to the program running under emulation.

     Interestingly, the M68000, when provided with an MMU, has enough 
support to allow a hypervisor.  But I have never heard of one being written.

					John Nagle