Dual Identities:
The Possibility of Running Two Operating Systems

on Apple's New Intel-based Macintoshes

by Dan Schneider

2006 has certainly been an interesting year for Apple fans. The latest flurry of activity surrounds Boot Camp, a tool from Apple that will allow you to install and run Windows XP alongside OS X on an Intel-based Mac in a dual-boot configuration.

A Google search of "
apple boot camp" turns thousands of articles, reviews, opinion pieces and more. Rather than rehash what has been done before, I'd like to simply provide a quick summary of the options and possibilities available to owners of an Intel-based Mac. I'm going to try to stay away from the "why" of running Windows on Apple Hardware and instead try to paint a clear picture of what is possible now, what should be possible in the near future and what will probably never happen.

A common note in many of the articles found concerning running Windows on Mac hardware is the distinction between the two ways that Windows can be run on the Mac (as of today or the near future). One way (offered by Boot Camp) is a dual-boot scenario, where the hard drive is separated into two partitions, one for OS X and one for XP. At boot time, the user can hold down the option key and select which OS to boot. The computer loads the selected OS and it runs natively and has full control of the hardware. To switch, the user must reboot and select the other operating system. The other way to run Windows on Intel-based Apple hardware is through "Virtualization". Virtualization is a term that describes technologies that allow one operating system to run inside or on top of another. Basically, the virtualization software provides virtual hardware for a hosted operating system to talk to. The hosted OS thinks it is in complete control of the hardware, when in fact, its control is routed through the host OS just like any other software process. At present there are no released virtualization packages for Intel-based Macs, but
Parallels, Inc. has one available as a public beta and many believe Microsoft will release the next version of VirtualPC with support for Intel-based Macs.

When running an OS under virtualization, the user can run applications in both the host and the hosted OS, switch between them, and, depending on the features offered by the virtualization package, even copy and paste between them. However, because it doesn't have full control of the hardware, the hosted OS doesn't run at full speed as it would if run in a dual-boot configuration. It should be noted that the performance hit from running Windows under virtualization on OS X running on Intel-based hardware will be much less significant than the performance hit of running Windows on a PowerPC machine using emulation software like the current version of VirtualPC. That is because emulation software must pretend to be a different type of system and translate instructions from Intel format to PowerPC format. Virtualization software for OS X on Intel will simply need to serve as a go-between without the translation requirement.

I have heard at least one Mac owner express the desire to natively boot both OS X and Windows simultaneously with the ability to switch or toggle between them on the fly.

It's unlikely that such a solution will ever be a reality. Even with windows on a PC, you can't have two different versions booted simultaneously to toggle between on one machine unless you use virtualization technology similar to what Parallels is offering. This is because one OS needs to be able to manage the whole set of hardware: CPU, Memory, USB, etc. If you wanted to run two operating systems, you would still need a layer of software managing access to the hardware and then neither OS would be running truly "native".

Looking forward, the solutions appear to be an either-or choice. Either you dual boot and have one OS running natively at a time, or you use virtualization and run one OS inside the other.

Personally, I'm leaning toward virtualization for my Intel Mac Mini because you can switch between OS X and Windows applications almost as easily as if they were all running under one OS. Also, you should be able to run both operating systems so they fill the screen when active, if desired and the ability to do nifty things like copy and paste between them means that you have the convenience of both operating systems without the hassle of constantly rebooting. A dual-boot solution like Boot Camp means, of course, that if you want to use the other system, you have to reboot and wait several minutes for it to come up.

It is conceivable that some sort of hybrid solution may arise (and some have speculated that Apple is heading that direction with Boot Camp, although Apple has reportedly denied it). That is, you would create an XP partition on your hard drive and could then either boot to it natively, or you could run it with virtualization technology from within OS X. This would probably be the best of both worlds: boot natively when you need performance (like when playing games), otherwise run in virtualization when you need convenience. The main problem would probably be drivers (since some virtualization software requires the hosted OS to use special virtual drivers rather than the real hardware drivers), which could confuse Windows on switching from a native boot to a boot within the virtual system or vice versa. Fortunately, the driver issue should not be an intractable problem.

If you do decide to run both OS X and Windows on an Intel-based Mac, whether with Boot Camp or using virtualization, you will need to think long and hard about hard drive access between them, just as with any computer loaded with two operating systems. While being able to read data from one OS's partition in the other is convenient, there are potential drawbacks. Say you're booted into Windows XP and that XP has write access to the Mac part of the hard drive. If XP gets hacked or catches a virus, all your Mac data is vulnerable. However, if XP has no access or read-only access to the Mac partition, then even if XP gets damaged, your OS X installation should be fine (although, with read-only access, a virus or spyware program could still read personal data stored on the Mac partition). Users should also be aware that hard drive access between OS X and Windows XP is not a slam dunk. OS X prefers HFS+ partitions, while Windows XP prefers NTFS partitions and neither OS provides full access to the other's preferred partition type. See this excellent
ArsTechnica article on Boot Camp for their experience with Boot Camp, which includes more information on cross-platform hard drive access.

In any case, simply having the option to run both Windows and Mac software on one computer at full or nearly full speed is certainly an attractive one and I am eagerly anticipating trying it out.

Dan Schneider
Software Engineer

Copyright ©2006 by The Mac Guild