2009/6/12 Cameron Kaiser <spectre at floodgap.com>:
I'm curious, what OS:es and software did
virtualisation before
VMware/XEN/Virtualbox and the like ?
Answered in detail by others, but I'd also point out some non-OS
hypervisors that were around long before VMware etc. Sheep Shaver on
BeOS in 1998, for instance.
http://www.bebox.nu/os.php?s=os/macos/index
SoftWindows, SoftPC and VirtualPC on the Mac could all be considered
VM environments, allowing one OS to run as an app under another, alien
OS on an alien platform.
http://en.wikipedia.org/wiki/SoftPC
But wouldn't this be more of an emulator than a virtualization? I'll buy
SheepShaver on BeOS, since the code runs "native" on the 603s, but these
x86_PC-on-PPC_Mac packages I would place under emulation since the actual
object code never gets to directly touch the cores (only a translation).
A fair point, but then, that's the key part of the revelation that the
people behind VMware had for how to virtualise a
non-Popek&Goldberg-compliant instruction set architecture (ISA). The
way VMware works is by running user-mode code directly on the native
chip, but ring 0 (supervisor- or kernel-mode) code through a caching
software emulator.
So CPU emulators were a key enabling technology for x86 virtualisation
to happen. First full emulation, then partial emulation for increased
performance, then once such products had popularised the technology,
virtualisation instructions were added to the x86 ISA.
But other examples exist of non-native OSs running totally or
partially inside VMs:
- MC68K code on classic MacOS running on a PowerPC, where the OS
hosts an emulator at a very low level, through which most of the
actual OS code itself and many applications run;
- the MC68K emulator on PalmOS 5 on ARM;
- AlphaMicro's MC68K emulator on Intel x86 machines for running AMOS;
- Charon-VAX running VMS on a VAX emulator under VMS on an Alpha.
All these could be considered as straddling the line between a pure
one-platform-on-another sandbox-type emulator and an OS that can run
non-native code side-by-side with native code, no?
I think the dividing line between the 2 is pretty blurry...
--
Liam Proven ? Profile:
http://www.linkedin.com/in/liamproven
Email: lproven at cix.co.uk ? GMail/GoogleTalk/Orkut: lproven at
gmail.com
Tel: +44 20-8685-0498 ? Cell: +44 7939-087884 ? Fax: + 44 870-9151419
AOL/AIM/iChat/Yahoo/Skype: liamproven ? LiveJournal/Twitter: lproven
MSN: lproven at
hotmail.com ? ICQ: 73187508