What if you had a need to run an operating system on a platform for which it was never intended? Perhaps your small software development firm does not have the resources to purchase and maintain multiple operating systems running on multiple computers, but you still have to test your software product on every possible combination, before releasing it to the public.
At the application level, what if you have a program that was only released for a particular operating system, and you have no others like it? It would seem that you would have to purchase that additional OS just to run that one application. If that OS were not supported by your current computer, you might even have to purchase a second computer. Aside from the additional expense, that could consume a great deal of time and energy.
These are just a couple of the many reasons why individuals and organizations, for several decades now, have been developing solutions to these problems. Specifically, they have created computer programs that can run an operating system, making the OS "think" that it is controlling the computer's hardware — actually, device drivers — directly, when in fact its instructions are being passed through this extra layer.
These programs are usually referred to as "virtual machines" or "emulators", because they simulate a computing environment or machine, and serve as a layer separating the guest OS from the actual hardware. It should be noted that the terminology has evolved over time, and various authors and reference sources will use the terms somewhat differently from one another. But the basic ideas are well understood.
The Big Kahuna
In the commercial world of virtual machines, the most well-known contender is VMware, whose eponymous product is capable of hosting multiple operating systems on a single computer. Depending upon which edition of VMware one is using, those OSes could include Windows (NT, 2000, and XP), Linux, Novell NetWare, or Solaris x86.
The advantages to such a product are many, as it allows you to run the combined set of all of the applications that are supported by that list of operating systems. You can do so without having to create multiple partitions on your hard drive, installing each operating system on its own partition, dealing with the incompatibilities and headaches of boot managers, wasting time rebooting from one OS to another, and being forced to devote considerable space on your hard drive to OSes that you might use infrequently.
VMware, like so many other mature software products, initially started out as a single edition, but has since branched out into several different ones, each targeted toward specific needs (and sizes of wallets).
At the high-end, one finds VMware Infrastructure, which virtualizes multiple servers and storage devices, all networked together. The list of features is quite substantial, commensurate with the requirements of any enterprise that wants to make a significant commitment to a range of operating systems. The licensing cost is likely just as substantial, given that the prospective customer is apparently required to contact sales to find out the price.
At the other end of the feature and price spectrum, one finds VMware Player, which is offered at no cost, and allows one to test applications running in the virtual machine, as well as copy text and drag files back and forth between the virtual machine and the host PC. It even has Google search capabilities built in, so you can search the Internet without starting a Web browser.
In between these two extremes, there are several mid-level editions of the product, including VMware Workstation, Server, Virtual Desktop, and ACE, which each offer their own set of capabilities. For example, VMware Workstation supports the OSes mentioned above, as well as all levels of OS patches. VMware ACE is designed more for controlling PCs on a corporate network, such as locking down resources.
While VMware is considered by many to be the most capable Windows emulator, it is frequently cited as being inordinately resource-hungry, especially in terms of system memory usage. For this reason alone, prospective customers should also consider some alternatives, if only to confirm that there is nothing more suitable — especially if they have limited hardware available or capital to upgrade.
From the Horse's Mouth
As the creator of Windows, Microsoft might be expected to offer their own emulation product for their flagship operating system, and that they do. Virtual PC is based upon software acquired from Connectix in late 2003, and comes in a few different flavors.
The primary edition is Microsoft Virtual PC 2004, which allows one to run multiple instances of Windows 95, 98, Me, NT 4.0, 2000, and XP, as well as MS-DOS 6.22.
Still available is the earlier edition, as Connectix Virtual PC for Windows 5.2. Just as VMware offers two free editions, the gang in Redmond offers an emulator geared to Microsoft Server users, titled Virtual Server 2005, at no charge.
Last but not least, Virtual PC for Mac allows the user to access PC-only software, files, devices, and networks from a Mac.
When Less Is More
Many computer users may not require full Windows virtualization, and may instead simply want to run the most commonly used Windows applications on a Linux-based PC, for instance. There are products that allow one to do this, and they offer differing sets of features, with a range of price tags.
One of the best-known options in this category is Wine, which is technically not a Windows emulator, and thus avoids the usually considerable performance hit associated with any sort of full-featured Windows virtual machine.
Instead, Wine is characterized as a "translation layer", because it loads the Windows application that you want to run, and translates that application's requests for processing by the host operating system, which in this case is Linux or any other POSIX-compatible OS.
Wine is thus able to execute most Windows (9x, NT, 2000, XP, and 3.x) and DOS programs. This free product is backed by CodeWeavers, the same outfit that developed CrossOver Office, which is a commercial offering that runs most of the major Microsoft products, including Office 97, 2000, XP, and 2003, as well as Photoshop, Lotus Notes, and iTunes, among others.
So whether you need to emulate dozens of possible operating systems and their versions, or you just want to run Microsoft Word without paying the Windows licensing fee and dual-booting your Linux box, then there is probably a solution whose benefits are anything but virtual.