$$ - Virtualisation for the desktop
This article introduces the reader to virtualisation technology as it is applicable for use on a laptop or desktop computer. A discussion about the use of virtualisation technology in a server environment will be deferred to the November edition of Pulse+IT, which will contain an article dealing exclusively with the topic.
Throughout this article, the terms host and guest operating system are used repeatedly. A host operating system refers to one that is installed to interact with the computing hardware directly (i.e. a traditional or typical installation). A guest operating system, on the other hand, is one that is installed into a virtualisation environment running on top of the host operating system.
So what is virtualisation anyway? In the context of this article, the term refers to technology that allows operating systems and their applications to be installed and run on a virtual machine. This virtual machine is so termed because the software running within it does not talk directly to the physical hardware on which it is contained. Instead, the guest operating system interfaces with a virtualisation layer, which in turn communicates with the underlying physical hardware when appropriate.
While both the host and guest operating system can be the same (e.g. Windows XP as the host and Windows XP as the guest), it is more common on desktop deployments that different operating systems are used. Indeed, the emergence of both the MacOS X and Linux operating systems as desirable and viable computing alternatives for an increasing number of end users has undoubtedly been a key driver in the rapid and recent uptake of virtualisation technology.
So what are the benefits of virtualisation technology? One of the primary reasons virtualisation is used on desktop and laptop computers is for the purposes of running applications that are not available for operating system installed on the computer. The author, for example, predominantly uses MacOS X for personal use, but requires access to specialised financial software that is only available for Microsoft Windows. Rather than purchase a second computer devoted to the use of these applications, the author has installed Microsoft Windows and the associated financial applications in a virtual machine environment running within MacOS X.
Using similar methodology, medical practices, most of whom run clinical software written and supported only on Microsoft Windows, could conceivably retain the use of this particular program by virtualising their Windows environment and migrating their underlying operating system to Linux or MacOS X (assuming of course there was a sufficiently motivating reason to undertake such a migration).
At this time it should be noted that, to the host operating system, an entire virtual machine appears to be a single file. This property has many ramifications that underpins some of the other benefits that virtualisation technology can deliver. Firstly, the file (i.e. the virtual machine) can easily be transferred to other physical hardware and used without having to perform the often tedious task of installing a new suite of drivers to ensure the system runs adequately. These issues are avoided as the operating system and applications installed in an virtual machine only directly interact with the underlying virtualisation layer. The virtualisation layer, in turn, handles all necessary interactions with the physical computers hardware resources, including graphics cards, network cards, USB interfaces, DVD drives and hard disks.
The second major benefit of the single file characteristic of virtual machines is that snapshots (backups) of this file can be taken at any time and easily restored in the event of a computing problem. Install some poor quality software that destroys your computer? Simply roll back to the last snapshot of the system and the virtual machine will behave as if nothing had happened for no other reason than because as far as it is concerned, nothing did!
Before you can embark on your virtualisation adventure, you first need to install a virtualisation layer on your existing operating system. There has been an explosion in the uptake of virtualisation technology over the past few years, and users of all major modern operating systems are now spoilt for choice. While providing a comprehensive list or a side-by-side comparison of the various options available is beyond the scope of this article, readers would be well served by checking out the offerings from Microsoft, VMWare, Parallels, and VirtualBox (perhaps in reverse order given that VirtualBox is both free and open source!).
Once the virtualisation software is installed and configured, the user is able to then install the operating system of their choice into an empty virtual machine in much the same way as if they were installing it onto new hardware. In fact, as the virtualisation layer is able to interact with the guest operating system in ways that physical hardware cannot, installing an operating system into a virtual machine is often a simpler process than performing an installation on a real computer.
Using a virtualisation machine
So how does virtualisation work in practice? Once an operating system is installed into a virtual machine, the user simply selects the virtual machine and boots it up by clicking a button that usually resembles a play symbol found on a CD or DVD player. Corresponding buttons exist to pause (suspend or sleep) or stop (shutdown) the virtual machine, allowing the user to manage the status of their virtual machines as if they were physical computers.
Regardless of the desktop virtualisation product selected, there are typically three main ways in which guest operating systems can be displayed on your monitor:
Full screen mode
When a virtual machine is configured to run in full screen mode, it maximises the possible viewing area by taking over the entire screen and hiding the host operating system below it. While it is usually a trivial matter to switch between one or more active virtual machines and the host operating system, full screen mode prevents the user from viewing programs from both operating systems on a single screen at the same time.
When a virtual machine operates in window mode, the host operating system encloses the guest operating system in a window occupying a part of the main screen. This window can be moved, resized or hidden as if it were a typical application running on the host operating system.
Integrated mode (the authors term for an interface arrangement called different things by different virtualisation software vendors) allows the guest operating systems desktop to be hidden from the user, whilst allowing active applications and windows running within the virtual machine to be shown against the backdrop of the host operating systems desktop.
Ignoring the cosmetic appearance of menus and title bars, this mode gives the user the impression that the guest application is running natively on the host operating system, which in turn allows the user to easily interact with a mix of native and virtualised applications seamlessly.
So how do applications perform when run in a virtual machine? While it is true that running multiple operating systems and applications at the same time invariably consumes more computing resources than running a single operating system, modern computers generally have technical specifications surplus to most users requirements. As such, when allocated sufficient RAM (512MB to 1GB per virtual machine), most typical computing tasks conducted within a virtual machine will perform on par with how they would perform if installed directly on identical hardware (graphic intensive games being one notable exception).
While not strictly related to computing performance, it should be noted that the installation of multiple operating systems can consume large amounts of disk space, potentially necessitating that additional hard drive capacity be purchased. The user may also find that they need to spend time maintaining and learning about their virtualised operating systems, however obviously this would be the case if the operating system was installed on separate physical hardware.
Virtualisation technology has rapidly matured in recent times, spurred on by increasing awareness of MacOS X and Linux, ever improving computing power, and fierce competition between the purveyors of virtualisation solutions.
Despite the possibility that the user will need to spend more time maintaining a growing array of software, the ability to run applications from multiple operating systems on a single computer at near-native speeds, all without having to reboot, will be an attractive proposition for increasing numbers of computer users going forward.
Posted in Australian eHealth