[OT] Virtualization (WAS: UNIX V7)
Liam Proven
lproven at gmail.com
Fri Jun 12 10:30:11 CDT 2009
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
More information about the cctalk
mailing list