10.1. Why Bother?
All this discussion of how to do it raises the question of why you'd even do it in the first place. After all, if you need to run Linux, you could always buy an inexpensive x86-based system. As it turns out, there are a number of really good reasons to run Linux on your Mac:
First and foremost, emulation gives you portability. Wherever you travel with your Mac, why not bring a dozen Linux distributions and flavors of Windows around with you?
If you're developing an application that has to run on Linux, there are a lot of flavors of Linux. You could set up a multiboot x86 box with all the flavors of Linux, but working with virtual machines is much easier and requires less time spent juggling partition configurations. With emulation, you can run all these systems at once, albeit at something of a performance hit (although Virtual PC and QEMU let you pause background operating systems if you desire).
Further, with Virtual PC and QEMU, you can suspend an operating system and restore it later. This is much like the ACPI (Advanced Configuration and Power Interface) suspend-to-disk feature, but without all the incompatibilities and unpredictable bugs. So, if you have some testing to do, you can get in and out quickly.
Nothing beats virtual machines for browser testing. You can develop your web application (or site) on your Mac, and in very little time, fire up several emulated operating systems and test your application in a wide array of browsers ranging from Safari and Camino on Mac OS X, to Internet Explorer and Firefox on Windows or Firefox, Epiphany, and KDE's Konqueror on Linux.
Konqueror's rendering engine, KHTML, is an open source code-base that Apple leveraged when building Safari. When Apple announced Safari at Macworld San Francisco in 2004, they stunned a lot of people by coming out with their own web browser. But even more so, Apple shocked the Open Source community by promptly submitting their changes back to the KDE team. To learn more about Konqueror, visit its development web site at http://www.konqueror.org.
Freeze and Thaw
When you set up an operating system with an emulator, the system's hard disk is just a file on your Mac's filesystem. If you keep this under 4 GB or so, you can burn a snapshot of the operating system to a DVD for a very quick restore. This is ideal in testing scenarios where you frequently need to test your software on a clean install or standardized software configuration.
Got an old MS-DOS game you want to play on your Mac? Nothing beats an emulator for running these old games (see Figure 10-1), except maybe an old Tandy home computer. Furthermore, there's plenty to be said for running an old operating system just for the fun of it.
Figure 10-1. A little Sopwith, anyone?
Your best bet for MS-DOS emulation is DOSBox (http://dosbox.sourceforge.net/), which has one feature that sets it apart from other emulators: it lets you mount parts of the host file system as DOS drives. So, you can download that old MS-DOS game, unzip it into ~/Games, and mount ~/Games as your D: drive in DOS box. Figure 10-1 shows a real classic running under DOSBox.