Via a link on Macintouch, I’ve stumbled on some very interesting emulation technology that is open-source and runs on Mac OS X. Q is a Mac OS X-port of Qemu, a emulator (with an optional virtualizer) that is gradually gaining steam. I got Windows XP SP1 running on it pretty easily, and there are number of free operating systems that you can download and run immediately on Q, without needing to go through any install of that operating system. You just download the image of the hard drive with the operating system already installed on it from Free OS Zoo, point Q to it, and start up that virtual machine.
But let’s step back a minute. What is an “emulator,” and why would I want to run it? Well, an emulator uses software to emulate a processor (CPU and surrounding chipset) so that you can run software on your computer that will not otherwise be able to run on that computer because it does not have the required hardware support. For Mac users, this mostly means that it will allow you to run Windows, and therefore Windows applications, on your Mac. The Qemu project is actually more ambitious than that; they actually have the goal of creating an emulator that will allow any platform (operating system plus underlying hardware) to emulate another platform. This means being able to not only run SPARC-64 operating systems on my x86 PCs, but also running embedded applications (like those used on cell phones) on my Mac, if I want. It could (and has) allow people to run Mac OS X inside of Windows, after a bit of hacking at it. Here is a photo of Q running FreeDOS and a copy of Doom, the classic video game:
I should state at this point that X86 emulation has been around on the Mac for a long time; people have been wanted to run important Windows applications on their Macs for well over a decade. Perhaps the most well-known emulator for the Mac was Virtual PC, written by Connectix and eventually sold to Microsoft, which has basically killed it off for Intel Macs. The problem with Virtual PC is that was written to specifically emulate an X86 environment on PowerPC chips, which were the CPUs used before Apple’s move to Intel chips, announced in June 2005.
The ability to run any application on any platform obviously brings up a lot of interesting possibilities, but Qemu even goes further than that by offering virtualization. This is where, instead of emulating another type of hardware, you actually run multiple operating systems, at the same time, on your current hardware, and Qemu is the application that actually connects these multiple applications to the host operating system. This allows you to run, say, 4 different Linux servers on the same computer at the same time. To the outside world, they would look and act like individual machines. Of course, VMWare has offered a similar capability for a while in a commercial application, and there are several other companies that are getting into this business. Qemu does it for free (beer, at least) and isn’t trying to support a limited number of host operating systems, like these commercial solutions. As multiple core chips become the norm later this year, this will become a bigger deal.
Q recently released a Univeral Mac binary, which could already be a big deal. More and more Macs being sold today have Intel dual-core CPUs. As Q doesn’t need to emulate X86 code when running on an Intel chip, then the speed of the emulator is much, much faster. Supposedly, Q running on a Intel Mac is about 50-70% of the speed of running Win XP on that same hardware natively (not using an emulator). This means that you could, on an Intel Mac with enough RAM and disk space, run Mac OS X and also run Windows applications at the same time. Most importantly, they would run fast enough to actually be useful. My use of Windows XP through Q was largely unsuccessful, because the speed of the emulation (particularly video and hard disk access) was so slow that it wasn’t actually useful – I would use the PC I have instead if I need to use Windows. However, if I can run Windows XP at something close to native speed on a Mac, it opens a lot of doors.
My brother recently got an Intel iMac. I wish I could give Q a try on his computer, but he lives in a different city. As it is, I will just have to wait until someone else nearby gets an Intel Mac before I can give Q a spin and see how real this opportunity really is.