A virtual PC, or a PC with desktop virtualization software, is an end-user implementation of virtual computing where a desktop application (rather than a server) is used to emulate a PC. With a virtual PC, the emphasis is on direct interaction with the virtualized machine as if it were a local PC, rather than simply emulating computing power to use server-based apps.
Virtual PC
Virtual PC Practical Applications
• Software testing / sandboxing
• Virtual PC appliances
• Virtual PC for Backwards Compatibility
Virtual PC Software
Virtual PC Software
• VMware
• VirtualBox
• Virtual PC
• Parallels
• QEMU/DOSBox/Bochs
Virtual PC Hardware Requirements
Virtual PC Extensions
Virtual PC Practical Applications
Some of the common users for virtual PC software include:
A user may want to try out a piece of software in an isolated fashion, to ensure that production systems or data aren’t compromised. Once, this might have involved setting up a whole separate physical machine to do the testing, or creating a separate instance of an OS on the same machine (accessed via a dual-boot).
In contrast, a virtual PC machine can run software—a single program, an entire OS, both—in isolation, so that any activity is confined to the virtual PC itself.
Many server-side applications are available in virtual-appliance versions. These are VM images that include an OS (Linux, typically) and a copy of the application pre-loaded, so the whole thing can be deployed and run by simply booting the virtual PC and connecting to it over the network. WordPress, SugarCRM, Joomla! and Drupal, just to name a few such apps, all exist in virtual-appliance editions.
Virtual PC for Backwards Compatibility
Some apps written for a current version of an operating system may not work in earlier versions, or vice versa. Running the app on a virtual PC allows it to be run on the exact revision of OS needed. Windows 7’s XP Modeuses this: a full copy of Windows XP runs in a virtual PC, letting you use applications or device drivers that cannot run in Windows 7.
Virtual PC Software
Over the past decade, as the cost of the hardware needed to perform virtualization has dropped, the number of end-user/desktop virtual PC programs has grown. Here are the most common and widely used, with some discussion of their feature sets. (Not included here are server-level virtual machine subsystems like Xen, which have no direct desktop incarnation.)
The first and most widely-recognized VM solution has since spawned a whole family of incarnations, from server-virtualization systems to a variety of desktop editions designed for different uses. VMware Player, the most basic version, does little more than let you create and run virtual machines, either newly-created ones or pre-packaged VM images. The higher-end product VMware Workstationadds professional features: 3D graphics, support for more processors (virtual or physical), in-machine debugging for software developers, machine-state snapshots, and so on. Player is free to use; Workstation is pay-for-use.
Sun’s personal virtual PC solution includes much of the functionality of VMware Workstation, but in a free-to-use / open sourceimplementation that runs on and hosts multiple OSes. It is not quite as polished as VMware, but each successive revision has added functionality (e.g., multicore guests), speed and improved native compatibility with a wide range of operating systems.
Originally a VMware-like app produced by Connectix for both the PC and Mac, it’s since been purchased by Microsoft and no longer exists as a standalone product. It’s currently offered as an add-on for Windows 7 to power Windows XP Mode, available only to users of Windows 7’s higher-end SKUs (Business and Ultimate).
This company is best known for their Mac virtual PC product Parallels Desktop—one of the most common ways Windows is run in emulation on the Mac—but they also produce Windows and Linux versions of the same program. Its feature set isn’t as sophisticated as VMware or VirtualBox—e.g., it doesn’t support emulation of multiple CPUs.
A slew of independently-written and open source virtual machine and machine-emulation apps also exist. QEMU emulates a whole variety of processor architectures—not just the x86 family but also architectures like ARM, PowerPC and many others. DOSbox is for running legacy DOS apps—typically games, but also business software that was never ported to other platforms. Bochs emulates all the x86 instructions and devices found in a typical PC and is used mainly for debugging new operating systems under development than for running end-user apps.
Virtual PC Hardware Requirements
Using a virtual PC machine requires that the host PC has enough spare memory and disk space to be used by the virtual machine. If you wanted to create a virtual PC with 1GB of RAM and 200 GB HD space, you’d need at least that much memory and that much storage, free and clear, on the host machine.
This was one major reason why it wasn’t until relatively recently that the virtual PC started becoming more commonplace. Memory and storage are now cheap enough that virtualization is now possible even on a midrange-PC budget.
Virtual PC solutions either require or benefit enormously from hardware-assisted virtualization. This means a user will get the best results by running the virtual PC on certain varieties of processor, which sport instruction sets designed for virtualization. Intel processors that support the VT-x extensions and AMD chips that have AMD-V are two such lines of CPUs. Not every current CPU includes these extensions, so anyone interested in performing virtualization with a given PC should check that the included processor has them.
Virtual PC Extensions
The virtual PC is designed to run on most operating systems without modification. The user can typically boot the installation media and install the OS as if all this were taking place on an actual computer. That said, after the installation is complete, the user can also install a set of tools (essentially a device driver package) that allow better integration between the guest OS and its host.
Such tools are available for Windows and Linux when running in VirtualBox or VMware, and include such functions as two-way clipboard sharing, enhanced graphics (including support for the host’s 3D hardware acceleration features), and more tightly-integrated networking. These add-ons are not vital, since the guest OS will usually run decently well without them, but they enhance day-to-day use of the guest and make certain tasks easier—e.g., network integration between the guest and host for the sake of copying files in or out.
In sum, as the history of computing advances, the virtual PC will likely play as big – or bigger – role in computing than that traditional physical PC.