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