Desktop virtualization software uses technology that is similar to its more popular cousin, server virtualization. What’s different is how they’re presented to the end user.
Server virtualization typically exposes virtual machines to end users via the network, either through a remote desktop or simply as a server itself. Desktop virtualization makes the virtual machine accessible directly on the user’s desktop, either in its own window or as virtualized application windows that co-exist with the host OS’s own apps.
This isn’t to say that a desktop virtual machine can’t expose its guest OSes across the network, just that the main reason for running desktop virtualization is to directly use the resources of one’s own desktop machine—the memory, the CPU, and most importantly, the display and interface devices (mouse, keyboard, etc.)
Another difference, historically speaking, has been that in server virtualization the emphasis is on technologies that have little place on the desktop—hotplugging of CPUs, for instance. Some of these technologies have found their way into desktop virtualization systems (VirtualBox supports hotplugging), but by and large server virtualization focuses on leveraging technologies which mainly appear on servers rather than desktops.
Go to list of Desktop virtualization software
Desktop virtualization features
• Emulation of desktop hardware
• Host and guest UI integration
• Management tools that reflect the scope of desktop virtualization
Emulation of desktop hardware
Devices like audio, USB connections (so that existing USB-attached devices can be connected to the guest) and 3D-accelerated graphics are typically made available to the guest. Some of these things are not supported with the drivers available in a stock installation of the guest
Host and guest UI integration
The guest OS can be more closely integrated with the user interface of the host with the aid of, again, a software package installed on the guest. Such integration can range from the sharing of the system clipboard to more complex interactions—e.g., drag-and-drop of files from the host to the guest, or support for various kinds of hardware devices on the host.
Management tools that reflect the scope of desktop virtualization
This refers to things like tools for cloning existing VMs or taking and rolling back to snapshots of VMs. It rarely means live migration from one system to another (although VirtualBox has added this as a recent feature), or network channel bonding for redundant failover. It’s not technically impossible to add these features, but there’s always the question of how useful they are likely to be for their target market.
Go to list of Desktop virtualization software
The Virtualbox desktop virtualization software
Go to list of Desktop virtualization software
Desktop Virtualization Software
• VMware Player / Workstation
• VirtualBox
• Parallels Workstation / Parallels Desktop
• Windows Virtual PC / “XP Mode”
Here are the major applications currently in the desktop virtualization space:
VMware Player / Workstation
VMware was the first of the desktop virtualization apps, and for many, it remains the best. It is certainly the one product that’s most immediately synonymous in most people’s mind with virtualization, both on the desktop and in server environments.
The most basic version of VMware is VMware Player, which lets you create and run virtual machines on Windows or Linux. Virtual machines created in other versions of VMware, virtual appliances from VMware’s own Appliance Marketplace, and Microsoft VMs and Symantec LiveState Recovery disks, can all be booted and run in Player. Player is free to download and run (although closed-source), and supports both 32- and 64-bit architectures in both guest and host machines.
The more advanced, for-pay Workstation incarnation of VMware adds features like snapshots (capturing the state of a virtual machine’s disk), integration with development environments such as the SpringSource Tools Suite and the Eclipse IDE for C/C++, and Teams (running several VMs together in unison to simulate multiple tiers of a hardware stack.
For most people, Player should more than do the job. For users looking to do formal application development that involves virtualization in some fashion, Workstation is the more appropriate choice.
VirtualBox
Sun’s (now Oracle’s) open-source contender to VMware on the desktop—both Workstation and Player–is an impressive product, and not just because it’s free. VirtualBox matches many of the features found in both of those other products, throws in a few of its own for good measure, and is available under licensing that makes it broadly useful to end users and developers alike.
The most common incarnation of VirtualBox, the precompiled binary edition, is free for personal and academic use, and can run on Windows, Linux, Solaris and Mac OS X hosts. Some of the better features of VirtualBox include support for EFI firmware machines, snapshotting (something available in VMware Workstation only, not Player), support for iSCSI targets, CPU hot-plugging, and the ability to dynamically change the amount of memory allocated to a guest while it’s running (“memory ballooning”).
Parallels Workstation / Parallels Desktop
Parallels, Inc. offers their Workstation product for Windows and Linux, and Desktop for the Mac, the latter being one of the main ways (apart from dual-booting) Mac users are able to run Windows software on Apple’s hardware. The feature set of Parallels is close to VMware Workstation; version 4 supports multiple virtual cores, 32- and 64-bit environments in both guest and host, and the ability to not only take snapshots of VMs but clone them and use one as a template for others.
Windows Virtual PC / “XP Mode”
Originally a standalone product for Windows, Microsoft’s Windows Virtual PC (purchased from Connectix) now exists in two incarnations. The standalone version, Virtual PC 2007, is intended for users of Windows XP and Windows Vista. The new version, Windows Virtual PC, is used with Windows 7 Professional and Ultimate. It’s not a full-blown desktop virtualization product, but as a way to provide backwards compatibility with 32-bit applications and device drivers that don’t run correctly in Windows 7 itself. To that end, Virtual PC is a transitional product, intended mainly to allow XP users to upgrade to 7 and continue using existing hardware and software.