Virtual machines gained popularity as a way to emulate Windows on Mac OS or Linux. Nowadays they’re finding uses in testing, software development, server virtualisation, legacy applications, and many more. ZDNet Australia looks at the two most popular packages.

Virtual machines are certainly not going to be everyone’s cup of tea. In fact, if you don’t need to run multiple operating systems or are not a techno freak then you should probably skip ahead to the next article.

So who will typically want to use virtual machine (VM) software? For instance, a software developer in the early stages of the development may wish to test the code on some basic operating system setups, say Windows 98SE, ME, 2000, and XP. Now you could try and set up a few PCs with multiple boot options but it’s a bit of a pain waiting for the system to reboot and start up the new OS each time you want to test a slice of code. With several virtual machines running on a single host PC you can simply move back and forth amongst the various OSes with the quick and simple click of a mouse.

You may not even be a developer, it could simply be that you like to use applications and tools that are only available under specific operating systems. Some may run under Windows, while others may only be available under Linux. Or you may have upgraded to Windows 2000 or XP only to find that a vital business application will only run under Windows 95 or DOS.

With either of the following applications, Connectix Virtual PC or VMware Workstation, you can have a host PC running either Windows or Linux with the other less frequently used OS running in a virtual machine window.

And, the good news is that both virtual machine applications are surprisingly fast and generally robust. Indeed, both vendors appear to have approached the problem from the same basic specifications; the similarities in features and functionality far outweigh the differences.

Our host PC used in the testing was a Dell Optiplex GX240 with a 1.7GHz Pentium 4 processor, 512MB of DDR memory, and a 32MB ATI Rage 128 Ultra graphics card running Windows XP Professional.

Pros and cons

It was interesting that while both applications were similar there are some quite significant advantages and disadvantages with each. In general VMware was the fastest in our benchmarks under Windows 2000 running in a VM, but the performance advantage in general was not that great. In terms of disk performance, Virtual PC was actually faster, but VMware had the edge in graphics and business application performance. In both cases we had configured the foreground VMs for maximum performance, but it appears that VMware’s code is slightly more efficient or that it allocates a little more CPU time to the VM than Virtual PC.

Virtual PC on the other hand was the more robust of the two applications. Everything ran first time every time without the need to tweak or reload. VMware on the other hand refused to install Winbench99 V2.0 at all, and we had to resort to the previous V1.2 and then upgrade. We also had problems with the audio and COM port configurations in VMware, whereas Virtual PC’s audio and COM ports were up and running from the word go. The only feature we would have liked to see in Virtual PC was the provision for USB ports straight out of the box. Another advantage we feel Virtual PC has over VMware is the consistent emulation of known hardware standards. The graphics emulation for example is the S3 Trio 32/64 and the audio is Sound Blaster 16 or AWE 32. This should make it a lot easier to install operating systems not supported by the vendor as you can simply select a known driver rather than try and get something to run with VMware’s proprietary graphics driver, for example.

So in the end we feel Virtual PC is the best bet: it’s solid, reliable, and–while not quite as fast as VMware–is certainly no slouch either.

Connectix Virtual PC For Windows V5

We have in the past used earlier versions of Virtual PC at the Lab and, to be blunt, while we could appreciate the difficulty of creating a seamless virtual PC application, we were less than impressed with the end result in terms of usability, particularly stability.

We were pleasantly surprised to find that Connectix has addressed the stability issue exceedingly well in this latest incarnation.

And even more impressive is the ease and simplicity with which you setup your virtual PC environment. If you can install a basic Windows app from the box, then you are going to be able to install Virtual PC. The configuration is also a doddle.

The first time you run Virtual PC (VPC) it prompts you with a series of simple questions such as what OS are you going to install; this helps the application suggest basic virtual memory settings. The user can increase or decrease the memory allocations on various Virtual PCs if they are running several to balance the performance of each VPC. You can also choose to purchase a ready-made disk image for your operating system (unfortunately we did not receive one in time for testing). In this instance a Ghost image is simply loaded into the virtual disk and once you reboot that VPC, the OS is up and running.

We did it the old fashioned way and simply installed Windows 2000 from CD on one VPC and SuSE Linux on the other VPC. The virtual system that is emulated by the software is not particularly sophisticated as you can see from the table below, but it is certainly sufficient for most business applications. Do not expect to run your digital editing suite or Unreal 2 game from the VPC, it simply does not have that much emulated sophistication or grunt, which we will get to later.

Once you have created one or more VPCs, they are effectively controlled from the small Virtual PC window. From here you can launch the relevant VPCs, shut them down, tweak their individual settings, or create a new VPC.

We found the sound emulation worked fine–although we did not rigorously test it to ensure Sound Blaster compatibility, it worked satisfactorily in any of the business applications we ran. And, once we had configured our LAN settings correctly on the VPC, we had full access to the network. There were two options for the LAN, Shared Networking with Network Address Translation or Virtual Switch. The application notes recommend Shared is the easiest to configure and should suit most users. However, to run server software or run networking protocols other than IP over Ethernet, Virtual Switch must be used. Although the latter is more difficult to configure according to the manual, we found it simple and straightforward.

Cutting and pasting between host PC and VPC is supported as is dragging and dropping, and folder sharing. One rather neat feature is you can not only gracefully close down a VPC and its OS, you can brutally pull the plug, which results in a disk scan on its reboot. You can also suspend the VPC, save its state to disk, and then restart where you left off.

The CD and floppy drive can be manually “captured” or “released” by the VPC, however if you insert a self booting CD it will boot up on whichever window currently has the focus.

Most of the functionality just described is available from the VPC’s drop down menu at the top of the window. There is also an additional VPC toolbar at the bottom of the window that indicates the status of the virtual hard drive, CD, floppy, shared folders if there are any, and virtual LAN. However, if the VPC display is configured for full screen, the menu and tool bars are no longer available. Virtual PC Preferences such as CPU load sharing between front and background VPCs are also set from here.

The VPCs can be configured so they can be remote controlled by another PC as long as this PC is running the VPC client.

Running apps on the VPC was a breeze; quite frankly we were surprised at how robust the VPC was. Business Winstone and all its applications ran without a hitch and any business apps we threw at it ran smoothy. Admittedly the VPC is generally slower than the host PC, as you can see from the graphs, and you can expect your average business app to run around half as fast as it would on the client. But, on our 1.7GHz PC, the VPC and apps managed to keep up with most tasks we tried.

VMware V3.2

Installing VMware is exceptionally easy and even the configuration of the application should not pose a problem to the average PC user. When setting up each virtual machine, the user is prompted with a series of simple questions and generally VMware suggests a setting for the item in question based on the OS being installed and the host PC’s specifications. In general, you can simply go with the suggestions and your VMs will run fine.

The default partition size is 4GB and the user can alter the memory allocation to the VM if they wish to increase or decrease the general performance. Operating systems can be purchased from VMware as disk images that can be simply copied over to the newly created partition, or you can chose to “bake your own” as we did. As with Virtual PC, we tested VMware on Windows XP host with Windows 2000 and SuSE Linux VMs.

You will notice from the table that VMware has its own proprietary display driver. When you first install your OS, Windows 2000 for example, you are presented with the 640 x 480 16-colour display. After the OS is installed you then install the VMware “tools” which amongst other things install the proprietary display driver. This could be a bit of a trap if VMware does not support the OS you are attempting to install. And, although the audio drivers are Sound Blaster 16 compatible, they are not recognised by the Device Manager as such, and so may also be a problem with unsupported OSes. We feel it would have been far safer to simply emulate a known hardware standard transparently, particularly in the case of the video drivers.

There was also a minor problem with our system in that the COM ports did not install correctly and Device Manager claimed there were not enough free resources. The audio driver also refused to function correctly. It was nice to see that the USB ports were supported.

VMware provides four methods of connecting to your LAN: bridged connection (which we used), Network Address Translation which shares the host’s IP address, a private shared network that treats the host as a separate physical PC, and a custom virtual network. We had no problem configuring the VM using the bridged option and connections to the LAN were seamless and quite fast.

The toolbar has four buttons for power on and off, Suspend, Reset, and full screen. Through the menus you can access the configuration editor, preferences, manage virtual networks, disconnect drives and USB devices, and configure the Local and Global priority of VM. In the latter case, rather than use the terms foreground and background, VMware uses “grabbed” and “ungrabbed”. The four indicators along the status bar display drive and network activity.

Running our suite of benchmarks and apps was for the most part clear sailing, although we could not load version 2 of Winbench99 (the installation procedure would simply crash; we overcame this by installing an earlier version and then upgrading it). All the applications in Business Winstone 2001 ran without a hitch but we could not get the sound emulation to work correctly. We found cutting and pasting between the VM and host only worked with text, and not files or folders. We were disappointed we could not simply drag and drop files and folders between VM and host. Cursor behaviour was at times annoying and certainly not as smooth in a VM as Virtual PC for example. Also when a CD was ejected or loaded there was a significantly long period of time when the cursor simply froze and was not available.

Performance on the other hand was very good and in the common business applications we ran VMware on average managed 56 percent of the host PC’s performance.

Subscribe now to Australian Technology & Business magazine.