Time was, Macs lived in their own world and PCs lived in theirs, and that was that. The line between the two was clear; there was some cross-platform software, but in general, they spoke vastly different languages. You could run some Windows software on Macs, but only through the use of a complex emulation program. This software had the daunting task of creating an entire virtual computer, all the way down to the CPU, and then translating, on the fly, every single operation and instruction between the real Mac and the virtual PC.
All of the PC emulators, however, by virtue of the fact that they had to do so much low-level work to emulate an entirely different CPU architecture, were very, very slow, compared to a real PC.
But when Apple converted its entire product line from PowerPC CPUs to the very same Intel chips used in Windows PCs, the world changed. Now that you don't need a complex software layer to emulate and translate every low-level instruction from one kind of CPU to the other, you can have a Mac that runs Windows at near-native speeds -- at least in theory.
In very short order after the first Intel-based Macs hit the streets, developers proved that Windows on Macs was more than just a theory -- it worked, and it was fast. It was a bit of a chore to set up, though -- certainly beyond the capabilities of your average user -- and was also unsupported by Apple. In other words, it was an interesting experiment, but not ready for prime time.
The arrival of Boot Camp
Almost immediately, however, the world turned upside down once again. Apple itself released the public beta of a dual-boot enabler, called Boot Camp. With very little fuss or trouble, Boot Camp allowed anyone to load and run Windows on an Intel Mac. The next version of Apple’s operating system, Leopard (Mac OS 10.5), will include the ability to run Windows built in.
Macs that run Windows via virtualisation are here to stay.
Boot Camp runs Windows operating systems (XP and Vista) and Windows-based applications, and it runs them fast and well and with excellent compatibility. In fact, early tests of Macs running Windows showed that Macs ran Windows apps faster than did many comparable Windows-only PCs. That’s a huge change from the old emulation days.
But the one big flaw of Boot Camp is that you either run Mac OS, or you run Windows, but not both at the same time.
If you need to switch from one to the other, it requires a complete reboot. That’s fine if, as Apple intended, you have only one or two critical but infrequently used Windows programs, or if you want to spice up your Mac experience with a couple of Windows-only twitch games in your off hours.
But if you need to mix Mac and Windows programs on a more regular basis, all that booting and rebooting -- and the closing all of your open apps in between -- gets to be a real chore.
"True" virtualisation comes to the Mac
Enter Parallels Desktop for Mac (originally Workstation for Mac), a true virtualiser. This allows users to run Windows within, well, a window on your Mac desktop. Parallels, unlike Boot Camp, can run just about any operating system you’d like, from MS-DOS to any flavour of Windows, Linux or Sun’s Solaris, at the very same time as you run your Mac apps.
Parallels missing a few pieces (3D graphics, for one), has proven to be a little less compatible in some ways (support is lacking for some USB peripherals, for example), and is not quite as fast as Boot Camp. This speed issue is partly a result of the fact that the Parallels microkernel that sits on top of the physical Mac has to divide, allocate and direct resources between the Mac and Windows apps. But for those needing to run Windows and Mac apps side by side, Parallels is a real breath of fresh air.
Parallels recently announced the newest beta version of its next Desktop software, and it's available for purchase. Recently, the stalwart of the virtualisation world, VMware, released the beta of a virtualisation product for Macs called Fusion. And now the game gets really interesting.
VMware has some capabilities that top those of the Parallels product, particularly support for dual-processor virtual machines and support for 64-bit operating systems, both of which are due to be included in the next major revision of Parallels Desktop for Mac later this year.
For its part, Parallels has some innovative features of its own, such as the Coherence interface, which allows PC apps to run directly on a Mac desktop.
Since competition drives innovation, it’s likely that the virtualisation options for Macs will keep getting better and better.
Virtualisation is a white-hot market, and for good reason. For one thing, it allows users to mix and match computers and operating systems, and that, among other things, creates the flexibility to easily support older applications. The virtual machines that are created have their own advantages as well. Virtual machines share hardware, but operate as separate, isolated systems -- each with its own configuration and each in its own "sandbox" -- so there are security benefits.
Virtual machines can enable easy backups, quick reinstalls of clean versions of operating systems and application software, or rollbacks to the state of a system at any point in time (prior to a virus infection, for instance, or a serious software incompatibility). Virtual machines allow the simultaneous operation of different operating systems or of multiple versions of the same operating system, such as Windows 2000, XP and Vista. They can even run multiple copies of the same operating system.
This last feature can be enormously beneficial for large organisations, since it essentially creates more computers without requiring IT to actually buy additional hardware -- or pay for maintenance of same. It is generally less expensive to beef up an existing server than it is to buy an entirely new server -- though the savings depend on how many virtual machines you want to create, of course. And on the low end, virtualisation can be seen as a kind of competition for blade servers and cheap 1U boxes. In other words, customers can buy fewer but larger servers and use virtualisation to partition them instead of buying more blades and small, cheap servers to accomplish the same thing.
Virtual machines can be considerably easier to manage, provision, partition, create, modify or eliminate than the equivalent physical machines. The ease of testing untrusted applications and tweaking performance (changing the system configuration to boost speed for specific kinds of uses) and just the general flexibility to do more things with the hardware you have make virtualisation a key technology for the future.
One of the main differences, so far, between the virtualisation markets in the Mac and PC worlds is that Mac virtualisers let you run other operating systems, primarily Windows, on Macs but don't let you run multiple versions of the native Mac OS. Your average user might not care, but for enterprise use, this is a big deal.
Apple is notoriously protective of its operating system because, despite creating insanely good software, Apple is, primarily, a hardware company. Most of its operating profits come from selling computers and other devices that it designs and builds. Apple is afraid that through the magic of virtualisation, it’s only a short step from running multiple copies of OS X on a Mac to running OS X on a generic non-Apple PC -- and that is something that, at least at present, Apple has no interest in allowing.
Apple typically refuses to comment about unannounced products, and the company did not deviate from that policy when we contacted it for this story. But it would not be surprising to see Apple find a way to address this issue and allow virtual OS X instances -- if it could do so without opening the door to OS X on non-Apple hardware.
So for now, you can run Windows virtual machines on a Mac but not Mac virtual machines on a Mac -- and certainly not Mac virtual machines on a PC. Although Apple may claim bragging rights for building the most flexible, compatible computers on the planet, pressure will be building fast for virtualisation solutions to support running multiple copies of OS X on Macs.