A Tale of Two (and a half) PC Emulators.
Aug. 1st, 2019 06:09 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
It was called SoftPC, by a British company called Insignia. SoftPC was a PC emulator for non-x86 computers. Unix workstation with RISC chips, basically. Some of the early RISC workstations were so much faster than PCs, you could run a usable emulation of a DOS PC and so run a few DOS apps.
It grew up to be a package called SoftWindows -- you can download it for free these days.
I used it to take work home with me from my first ever job. The emulation gave me a slow PC but with very fast graphics and disk. It was certainly usable.
Later Insignia ported SoftPC to the Mac when PowerMacs became as powerful as the early UNIX machines (but 10× cheaper.) SoftWindows was SoftPC enhanced with emulated (native Mac binary) device drivers to make Windows (and only Windows) run quicker. But since Windows is mainly what people needed, it did OK.
Fun fact: RISC versions of Windows NT (for MIPS, Alpha and PowerPC) ran 16-bit DOS apps and Win16 binaries via a licensed, embedded version of the Insignia SoftPC technology.
SoftWindows did so well that pioneering Mac vendor Connectix wrote their own version, Virtual PC. They'd already done other emulators so a PC one didn't seem so hard.
SoftWindows and Virtual PC were the two main rival products for Mac users who wanted occasional access to PC programs.
When VMware released their eponymous product, Connectix paid close attention.
VMware worked by trapping Ring 0 code (kernel code, stuff that directly manipulated the hardware) and running it through a CPU emulator -- on the native PC. This enabled x86 PCs to run virtualised x86 PCs. Before then, this needed special hardware (dedicated CPU instructions for virtualisation) that SPARC and POWER had but the x86 didn't. Indeed, the pundits had said it was impossible on x86.
Connectix thought "huh, we have a PC emulator already. We can do that." So they ported VirtualPC to the real PC. It was cheaper and easier to use than VMware.
Source: me. I interviewed the founder of Connectix, Jon Garber. He flew to the UK to meet me personally. Fun times.
As virtualisation took off, Intel added hardware virtualisation instructions to its chips. AMD did the same.
So the software emulators weren't needed any more -- it was much simpler to write one using the hardware facilities. That's exactly what KVM on Linux is.
But you need something to create the VM, manage virtual disks etc.
KVM uses the existing QEMU emulator for this.
Microsoft decided it wanted a hypervisor, so it bought Connectix and used those bits of VirtualPC. The rest was made a free download -- it's what runs XP Mode for Windows 7.
Microsoft Hyper-V is VirtualPC, integrated into Windows and minus the emulation engine that's no longer needed.
So, at different times and in different versions of the same product, Microsoft licensed and incorporated both SoftPC and VirtualPC.