Subscribe to EDN

The Virtualization Alternative

April 29, 2006

Continued from 'DOS Boot!'….

Boot Camp is a pretty slick piece of software for computer users who are intrigued by Apple hardware and software but can't ditch Windows. And, if you want to run a different operating system partition next to OS X, there's always narf2006 and blanka's code (note: the two options aren't compatible with each other). Heck, several vendors are even shipping Macs with XP preinstalled! But neither Boot Camp nor narf2006's offering enables you to concurrently interact with multiple operating systems and their applications. To run Windows, you need to completely shut down OS X and reboot. Visa versa, same answer. Concurrency requires O/S virtualization, a particularly attractive option given the Intel 'Yonah' CPU's hardware support for the feature. And at least one vendor, Parallels, is aggressively implementing other-O/S-on-top-of-OS X virtualization (with VMware claiming to have similar ambitions, and a to-date 'no comment' from the Virtual PC team at Microsoft).

Parallels Workstation for OS X is in its fifth beta release as I type these words on April 27th, a fast-paced development schedule considering the first beta was released on April 6th (the day after Boot Camp went public). Folks have figured out how to run numerous O/Ss under OS X using Parallels Workstation, even NeXT's OpenStep, the precursor to OS X! You can run multiple virtualized operating systems at once, if you have enough CPU horsepower and available RAM and HDD space, and the latest release of Parallels Workstation even includes a cool quick-switch rotating-screen feature. It all sounds too good to be true….what are the downsides of virtualization? Well, speed, for one thing. Hardware-assisted virtualization support in 'Yonah', along with instruction set compatibility between the Intel version of OS 10.4 and other x86-ported operating systems, makes CPU virtualization performance much better than in days past when I attempted to run little-endian x86 Windows XP on top of big-endian PowerPC OS 10.3 using Virtual PC v6.

At least for now, though, other important subsystems require software-only virtualization, leading to performance and functionality impacts such as:

  • Graphics subsystem virtualization has tolerable 2D performance but abysmal 3D performance. Without full graphics API support, some 3D applications won't run at all, while others run only in minimal-quality mode, sometimes also at low resolutions and with reduced color depth. Other subsystems suffer from similar performance degradation when software-emulated versus in their 'normal' hardware-accelerated mode.
  • USB support, if it even exists, is peripheral-limited to mice, keyboards, and the like. I couldn't, for example, use ActiveSync to connect to a tethered Pocket PC in a Virtual PC-created Windows-under-OS X environment.
  • Similarly, CD burners, and all DVD drives, were neutered to CD-read-only functionality under Virtual PC.
  • Using a peripheral under the host operating system may render it 'locked' and inaccessible to the virtualized operating system, or visa versa.
  • There's no clipboard-sharing of data between host and virtualized O/S, or between multiple concurrently-running virtualized O/Ss. Host O/S partition file access by the virtualized O/S, and visa versa, is limited if it's even possible.
  • A virtualized O/S 'partition' is implemented as a unified single VM (virtual machine) file on the host O/S physical partition. Individual virtualized O/S files are stored in a linked-list database-type structure within the VM, meaning that they don't ever get overwritten when they're deleted or updated, they're just marked as invalid. This means that the VM grows….and grows….and grows as you continue running the virtualized O/S. Think for example of all the temp files that Windows creates, or the Windows Update file replacements, or the constantly-thrashed swap file. The virtualized Windows XP 'partition' I created under OS 10.3 on my G4 PowerBook with Virtual PC v6 rapidly either hit its limit if I specified a maximum VM size, or filled the HDD if I removed the restriction. Parallels' recently-released VM Compactor beta may provide much-needed relief in this regard.
  • Finally, software virtualization keeps the CPU in its highest-power active mode more frequently than it would be if it wasn't emulating other system hardware. Thank goodness for multi-core, which provides much-needed performance muscle for virtualization scenarios (consider, as a conceptual example, the host O/S running on one core with the virtualized O/S running on the other). However, active-mode-mostly CPUs burn through batteries much faster than processors allowed to more frequently transition into lower-power states.

A clarifier: I haven't yet run Parallels. My virtualization comments above derive from past experience running Virtual PC, along with feedback I've seen from others who've run various Parallels Workstation beta releases.

Continued with 'DOS Next?'….

Posted by Brian Dipert on April 29, 2006 | Comments (0)
POST A COMMENT
Display Name
captcha

Before submitting this form, please type the characters displayed above. Note the letters are case sensitive:

Advertisement
Advertisement
Advertisement
About EDN   |   Site Map   |   Contact Us   |   Subscription   |   RSS
© 2012 UBM Electronics. All rights reserved.
Use of this Web site is subject to its Terms of Use | Privacy Policy

Please visit these other UBM Canon sites

UBM Canon | Design News | Test & Measurement World | Packaging Digest | EDN | Qmed | Pharmalive | Appliance Magazine | Plastics Today | Powder Bulk Solids | Canon Trade Shows