MacDevCenter    
 Published on MacDevCenter (http://www.macdevcenter.com/)
 See this if you're having trouble printing code examples


Parallels Desktop for the Mac

by Todd Ogasawara
06/27/2006
Running Mac OS X on Windows

Parallels Desktop for the Mac

Let's get this out of the way first. The short version of this discussion of Parallels Desktop for the Mac can be summed up in a single word: amazing. Nothing is perfect, of course, and there is room for improvement as Parallels moves this product beyond version 1.0. However, if you have an Intel-based Mac and need to or want to run Microsoft Windows, some version of Linux, or some other supported operating system, read on.

The introduction of Intel-based Mac computers opened all kinds of opportunities for Apple and its customers. Having an Intel microprocessor gave rise to the possibility for Macs to run other x86-based operating systems. There are a number of good reasons why someone would want to run an operating system (OS) other than Mac OS X.

Figure 1
Figure 1. Microsoft Windows XP SP2 in a window of a Mac OS X desktop

Shortly after the Intel-based Macs became available, a contest with a cash prize was created to encourage the creation of a reliable method to dual-boot Microsoft Windows XP on an Intel Mac. This prize was claimed in mid-March, 2006 by narf2006 and blanka. Apple made Boot Camp available shortly after the unofficial Windows XP dual-boot solution became available. Boot Camp lets you carve off a part of your hard drive to dedicate it for installing Microsoft Windows XP. You can then choose to boot the Intel-based Mac in either Mac OS X or Windows XP mode. But you cannot run both at the same time.

Microsoft Virtual PC for the Mac provides an emulation feature for PowerPC-based Macs that allows those Macs to run Microsoft Windows inside of Mac OS X. It does this by providing a hardware emulator that intercepts instructions from Windows applications and Windows itself so that those x86 instructions can be translated to PowerPC instructions that are executed on those Macs. As you might imagine, emulating the actual microprocessor by translating machine-level instructions places quite a load on a PowerPC G4, or even a G5. Virtual PC had a reputation for running applications a bit on the slow side. This extra translation step is not necessary on an x86-based Mac, and this should allow for more efficient execution of x86-based software like Linux, Microsoft Windows XP, and applications designed for them.

Parallels Desktop for the Mac takes a different approach for the new Intel-x86-based Macs. It uses virtualization technology to run other operating systems while Mac OS X is still running. This eliminates the need to reboot to switch to or from Mac OS X. It also provides the ability to install and use other operating systems such as Linux, BSD, or even MS-DOS.

Product information
Company name Parallels
Website www.parallels.com
Product name Parallels Desktop for Mac
Price $79.95
Trial period 30 days
Tested using MacBook 2GHz Intel Core Duo, 1GB RAM, 60GB hard drive

Virtualization on x86 Computers

Virtualization technology is a longstanding technology in the mainframe world. And in the past decade, this technology moved to the Intel-x86-based workstation and server world thanks to companies like VMware (founded in 1998). Products like VMware Workstation, VMware ESX, Microsoft Virtual PC, Microsoft Virtual Server, Xen, and Parallels Desktop for Windows and Linux have allowed PCs and servers designed to run Microsoft Windows or Linux make use of virtualization to run multiple operating systems (or multiple instances on the same OS) simultaneously.

It does this by creating a virtual hardware configuration for video graphics, sound, network interfaces, hard drives, optical drives, and other components typical in a workstation or server. This virtual configuration is called a virtual machine and is what an operating system's installer sees during the installation process.

Ubuntu Linux
Figure 2. Ubuntu Linux 6.06 LTS running as a guest OS

Installing Guest OSes

Parallels Desktop for the Mac provides a New Virtual Machine Wizard to let you easily create the a virtual machine framework to contain your guest OS choice. The wizard provides three ways to create a new virtual machine: Typical, Custom, and Blank. As a new inexperienced Parallels Desktop user, I chose to use the Typical Virtual Machine wizard method. It asks for just a few simple pieces of information such as the type of guest operating system (it provides a list), the name of the virtual machine, and the directory location for the virtual machine configuration file.

Parallels Virtual Machine Wizard
Figure 3. Parallels Virtual Machine Wizard OS selection section

A more experienced Parallels Desktop user can choose the Custom or Blank wizard to create a more precisely tuned virtual machine environment. You can, however, modify the various virtual machine settings even after you install a guest OS on the virtual machine, by using the Configuration Editor.

Parallels Desktop Configuration Editor
Figure 4. Parallels Desktop Configuration Editor

One of the settings set by choosing the Typical Virtual Machine configuration option mentioned above is to have the virtual machine control the Mac's optical drive. This means that if you have a bootable installation CD or DVD, such as a Linux distribution or Microsoft Windows, it will boot inside of the Virtual Machine window when you start Parallels Desktop Virtual Machine. You will see installation routines' messages and screens in the window of the VM. If the OS you are trying to install is supported by Parallels Desktop, you can go through the installation procedure for that OS as you normally would on any x86-based PC. Parallels Desktop may work with your OS even if it is not explicitly listed as a supported OS. I, for example, wanted to install the recently released Ubuntu Linux 6.06 LTS. So I selected the Other Linux option from the list of supported Linux distributions, and found the installation proceeded successfully.

Installing Microsoft Windows XP SP2 (which is specifically supported by Parallels Desktop) went very smoothly, too. Installation for both Windows and Linux can be summarized by saying there were no surprises. And that is exactly what you want for any installation: smooth, unexciting procedural execution.

Working with a Guest OS

The initial Parallels Desktop screen is a summary of the most recently used Virtual Machine (see Figure 5).

Initial Parallels Desktop screen
Figure 5. Initial Parallels Desktop screen

This summary screen shows you the settings that were chosen when you set up that VM: RAM memory size, hard disk size, network adapters, and other settings. You can see in Figure 5 that I set the maximum hard disk size for the Windows XP guest OS at 8GB. However, Parallels Desktop uses a dynamic virtual hard drive scheme that enlarges the actual file containing the virtual hard drive as needed. In my case, the file containing the virtual hard drive is hovering around 4GB at the moment.

The VCR-like controls running down the right side of the VM screen control basic operations such as starting, pausing, and stopping the VM. Clicking the green triangular play button starts the VM. If a guest OS has been installed, it will boot from the virtual hard drive. Figure 6 shows Microsoft Windows XP SP2 booting in a VM window.

Windows XP booting
Figure 6. Windows XP booting in a Parallels Desktop VM

Although you can probably comfortably read and use a guest OS in a window on top of Mac OS X, you can also switch to full-screen viewing. Figure 7 is a short video showing how switching between these viewing modes works.


Figure 7. 60-second video demonstrating switching from windowed viewing to full-screen viewing

A click inside of the VM's window focuses on the guest OS. From that point on, you can use the guest OS as you would on a physical desktop PC or notebook. Pressing Ctrl+Alt switches focus back to Mac OS X.

Running applications like Internet Explorer and Microsoft Visio in Windows XP, or Firefox and Terminal in Ubuntu Linux, seemed fast and responsive. As with the installation process, running the basic applications I tried (including security software for Windows XP like Grisoft AVG Free Edition and Microsoft Defender anti-spyware) ran as expected, without any surprises.

Network: Both Ubuntu Linux and Windows XP saw and used the virtual network adapter without any configuration. Both obtained DHCP IP addresses and had access to the internet for web browsing, email, and system software updates as expected. Accessing network resources like drive shares worked without any surprises. The Mac OS X windows share feature let me work with files sitting on the MacBook's Mac OS X hard drive as a drive share in Windows XP. Similarly, I could see and use files on a Samba share running on a Linux server. And, finally, I installed Apple's iDisk for Windows XP and could use documents stored on my .Mac account.

CD/DVD drive: Unless you configure it otherwise, the CD/DVD drive is defined as part of the virtual machine. This means that when that virtual machine is running its guest OS, only the guest OS has access to it. This lets you use it to install software and read data discs. Other types of optical media (music CDs and DVD videos) do not appear to be supported right now. Windows Media Player recognized a music CD disc I placed in the drive and obtained the play list from the internet, but could not play the audio tracks. However, this is, at worst, a minor inconvenience.

USB devices: Parallels Desktop for the Mac only provides USB 1.1 support for the virtual machine. USB flash memory drives were usable. However, I was not able to use an old Intel webcam or a new Microsoft Windows Mobile 5 Pocket PC Phone Edition with ActiveSync 4.1. Both devices were correctly recognized and appropriate drivers were installed. However, the drivers failed to function in Windows XP as a guest OS.

Parallels Tools

Parallels Tools provides adds compatibility and usability features for Microsoft Windows versions running as a guest OS in Parallels Desktop. Figure 8 shows the tools components as: clipboard synchronization, mouse synchronization, network driver, video driver, tools center, disk compacting, and shared folder.

Parallels Tools
Figure 8. Tools components

The most noticeable changes after installing Parallels Tools are the seamless mouse and keyboard behavior. Prior to installing Tools, switching between Windows XP and Mac OS X required pressing a Ctrl+Alt key combination. This was a mild but familiar inconvenience to anyone who had tried other virtualization products. After installing Tools, this escape keystroke combination became unnecessary. Say, for example, you are testing how your new website looks in both Safari and Internet Explorer 7 Beta 2. You click on IE7-Beta2 in a Parallels Desktop window running Windows XP SP2 in guest OS mode, and test the site for a minute or two. Then you move your mouse from that window to Safari on Mac OS X and click it to give it focus and test the site there for compatibility. The level of mouse and keyboard effort is no more than testing Safari and Firefox both running under Mac OS X.

Compressor

Parallels Desktop for the Mac includes the Parallels Compressor utility. It uses compression technology to reduce the size of an installed guest OS virtual hard drive. When I installed Windows XP SP2 as a guest OS, I set the disk size at 8GB (on a 60GB physical drive). I also opted to use a dynamically growing system so that all 8GB was not allocated at the start. After installing Windows XP SP2, Microsoft Office 2007 Beta-2, Grisoft AVG Anti-Virus, Sid Meier's Civilization II, and a bunch of utilities, Windows reports 4.1GB used space. However, after running Compressor, the Mac reports that the file container for the virtual hard drive is only using 3.5GB.

Final Virtual Thoughts

CNET published an article providing some simple performance measures comparing tasks running on a MacBook Pro under Mac OS X, Windows XP Pro SP2 running natively using Boot Camp, and Windows XP Pro SP2 running as a guest OS in Parallels Desktop for the Mac ("Heresy: Windows XP Performance on a Mac"). They found that Windows XP running natively using Boot Camp ran applications faster than Windows XP running as a guest OS under Parallels Desktop. Anyone who has tried virtualization technology such as Microsoft Virtual PC or VMware Workstation could tell you that this is expected and unsurprising. The purpose of virtualization technology is not to provide exceptional performance. Its purpose is to take advantage of today's exceptionally powerful processors to provide the convenience and manageability of running multiple operating systems simultaneously, without the need for multiple physical workstations or rebooting a single one.

2006 is definitely shaping up to be the year of virtualization for Mac OS X. VMware's vice president of platform products, Raghu Raghuram, in an interview on Virtualization.info, said, "With Apple switching to x86-based processors, robust and proven virtualization capabilities for Apple users is an interesting opportunity. We have stated that we do have VMware running on Mac OS X in our labs--stay tuned for future announcements in this area." There is also tantalizing speculation that Mac OS X 10.5 (Leopard) will include some kind of integrated virtualization support (AppleInsider: "Apple's Leopard Has Its Eye on Redmond").

Todd Ogasawara is the editor of MobileAppsToday.com. He has been named a Microsoft Most Valuable Professional (MVP) in the Mobile Devices category for the past several years. You can find his personal website focusing on Mobile Device Technology at www.mobileviews.com.


Return to the Mac DevCenter.

Copyright © 2009 O'Reilly Media, Inc.