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