Throughout the course of my life I’ve had cause to have more than one machine available to me for my work. Not because I have more than one set of arms and eyes and amazing multi-tasking capabilities, but because vast quantities of my work generally involve setting up temporary environments, and even entire networks. I don’t want to set these up on the machines I use for everyday work. If I’m trying out a particularly nasty piece of beta software it could take me hours – even with regular backups – to get back online. Quite aside from the fact that sometimes I need my main machine available to write up and make notes on the temporary environment I’ve just created.
All this has meant that I’ve had to have multiple machines available to enable me to do my work. My home network contains more computers and computing power than many of my clients have spread among 10-15 people, but there’s just me in this office. Aside from the management perspective of a 20 machine network, the electricity costs are astronomical compared to just running a few desktops.
Then I discovered VMware on Linux. For those not familiar, VMware (which is available on Linux and Windows) is the same basic principle as VirtualPC (available for Mac OS/X and Windows) – it enables you to create virtual machines, including hard disks, networking and even audio and other device access – through which you can run another operating system.
For me it means that I can create a three machine network – one running Windows Server 2003, another Windows XP and another Linux for example – all within a single machine. Each virtual machine has its own entire environment; if the Windows XP machine needs to reboot, I can do so without affecting the others. Similarly crashes and other problems don’t affect the other virtual machines.
Now that’s great. I actually now use VMware, VirtualPC and Microsoft Virtual Server (a server specific version of VirtualPC) according to my needs and environment. All of them, conveniently, support the same target platform – Intel x86.
But what if I need to achieve the same on my Mac?
OK, 75% of you will have chimed in and said ‘VirtualPC is available for the Mac’. And you’d be right. 5 points.
For the 25% that see where I’m going with this, 10 points.
You see, as a Mac developer and system manager I’ve often had to create environments, test software and evaluate the results on the Mac platform. VirtualPC isn’t going to help me – it’s designed to emulate the Intel x86 platform and support x86 operating systems like Windows. In fact, VirtualPC – by its very name – is designed to emulate a PC on your Mac.
What’s surprising is how under-supported this kind of facility really is. I mean, VirtualPC and VMware have been around for years, why isn’t there an equivalent for the Mac/PowerPC platform?
It’s not technology that is the problem, in many ways the PowerPC platform should be easier to produce an equivalent for than a PowerPC environment. Instead, I suspect the problem is more to do with market forces.
Well PearPC does actually allow you to run PowerPC software on Macs, but it’s a relatively recent capability only made possible by the introduction of Mac OS X and an X server. Originally, PearPC was designed for Unix and Windows PCs run Mac software, it’s by pure coincidence that we’ve now got a working virtual machine emulator on the Mac that is capable of running Mac software. At the moment, PearPC is less than ideal on the Mac platform. The keyboard interface doesn’t seem to work right, and I haven’t yet been able to run a LinuxPPC installer (although booting works fine), but I’m sure these will be fixed in time. Performance is also an issue, although again that could be alleviated with more intensive work on the PowerPC platform.
Hopefully, we’ll see more interest the PowerPC virtual machine arena when the new dual-core PowerPC chips come on line. With the right software it would be possible make a really good virtual machine environment that could use the second core on the processor as the main CPU for the virtual machine. With a dual-CPU platform we could run two virtual machines.
Until then, if you have the time, why not devote some of it to PearPC?
Note: Dual-booting, by the way, isn’t a solution. With dual-booting I can only run one version of one operating system at a time. I can’t run OS X and LinuxPPC on the same machine simultaneously.