Virtualisation guide

With the right software, you can get two computers for the price of one.
 
Learn more
 
 
 
 
 
  • Updated:18 Sep 2008
 

01 .Introduction

Penguin

In brief

  • Virtualisation encompasses a set of technologies to simulate hardware for running operating systems and applications.
  • You can create a virtual machine to run one operating system within another.
  • Virtualisation can be used for both business applications and personal computing.

Virtualisation is the hip computing buzzword of the moment: open up the business pages and you’ll find it in abundance. For corporations and large-scale computing, it’s helping to transform storage, application and server use. But for those of us without 100 computers, it can be hard to figure out what the fuss is about.

In the average home many of us own a computer with more RAM, hard drive space and processor power than we sometimes need. Even with a computer set up to provide multiple user accounts for the family, we don’t often come close to using up all our hard drive space. And that’s where virtualisation comes in.

Virtualisation allows you to use the hardware of your computer to create two or more ‘virtual’ computers that run within it. These virtual machines, as they are known, look and act just like a complete PC and the software that runs within them has no idea that it’s being run in a virtual machine instead of a whole computer.

This has many uses — for example you can use it to test out software in a safe environment before you let it run loose on your main system. Or you can use it to run Linux inside Windows, or Windows inside Linux, right on your desktop and so access programs in these operating systems without the need to restart or use another computer.

Please note: this information was current as of September 2008 but is still a useful guide to today's market.


 
 

Sign up to our free
e-Newsletter

Receive FREE email updates of our latest tests, consumer news and CHOICE marketing promotions.

 

02.What is virtualisation?

 

Virtualisation isn’t new — in fact it’s been in use for many years, as far back as the 1960s, in one form or another.

  • Virtualisation is the process of using software to emulate hardware — either a small part of, or all of, a computer.
  • The result is an environment called a ‘virtual machine’ that looks and acts like a computer, but it exists with the confines of a real machine.
  • Traditionally the system that runs the virtual machine software is called the host, and any virtual machines created to run on the host are called guests.

The analogy of an apartment block works well here — if the whole apartment block is the host, each apartment is a guest and can contain a different tenant (aka operating system). Further, the size of the block limits the number of apartments inside, just as the number of guests you can run on the host depends on the resources of the host machine.

While server systems today are equipped with enough processing power and memory to run dozens of virtual machines at a time, most PCs for the home however aren’t quite so powerful — that said, they often do have enough resources to run one or two virtual machines without too much trouble.

This is enabled, for the most part, by the march of progress in recent times with respect to computing technology — dual-core and even quad-core processors are starting to become commonplace for home computers, as is 2 GB or more of memory. Such systems can dedicate one processor core and 1 GB of memory to a virtual machine guest, and still leave one processor and plenty of memory for the host system.

And what can you do with the guests? Each guest can run a single application, or an entire operating system — so you could have Vista installed on your computer, and then create virtual machines for Windows XP and Ubuntu Linux to run on your desktop as well. Operating systems installed in a guest aren’t aware they run within a virtual machine, and act as if they had a whole computer to themselves. They operate and work just as if they were installed on a stand-alone machine, allowing you to run multiple operating systems and applications in self-contained, separate, guest machines on the one host computer. In effect, you can get two or more computers in one.


Virtualisation software

Virtualisation on hardware

All up it sounds very clever and can certainly have benefits for running cross-platform applications on one machine, but it comes at a cost: running virtualisation software is very demanding, and virtual machines — for the most part — run much slower than the host machine.

Which is where hardware supported virtualisation comes in. Traditionally, virtualisation software creates a complete virtual machine entirely through the software itself — in technical terms, this means the software has to take requests from the guest machines and translate them to the host computer — for example, if you are running Windows XP as a guest on a Vista host, every time Windows XP wants to write to the hard drive the virtualisation software has to take that request and pass it onto Vista to do. As a layer between the virtual hardware and the real hardware in a computer, it’s a very processor intensive task. And it has to do this for video output, hard drives, network, mouse, USB and more.

Which is why one of the more recent developments in the last few years has been Intel and AMD’s VT-x and AMD-V respectively, technologies which allow CPUs to provide hardware support for virtualisation software. The result? Some tasks from a guest can be passed directly to the hardware of the host, resulting in much higher performance for virtualised guest operating systems. So much so, in fact, that the operating systems in a guest machine can run at near native speed, almost as fast as the host operating system itself.

Generally, a virtual machine can use about the same amount of processing power and memory as the host machine. You don’t have to worry too much about setting aside resources for it to use, aside from telling the guest how much memory you want to allocate to it. Some virtual machine software will even let you resize this on the fly.

In terms of disk space, however, you do need to allocate a portion in advance and — keeping in mind the size of installed operating systems such as Vista which can take up as much as 10 GB — this can be a substantial. And here the software can create a single, large, file (called a disk image) on your hard drive and treat this like a real hard disk to any guest operating systems you install. To the host, for example, there’s simply a 20 GB file on the hard drive. To a guest operating system in a virtual machine, this file becomes what looks like a physical disk for it to use. You can install multiple operating systems on a machine, each within its own virtual disk image, with each capable of booting and running in its own virtual machine.

03.Application virtualisation

 

In fact, It’s likely that your computer already runs some kind of virtualisation. Most web browsers, for example, are Java-enabled. Java is a programming language used to create online games, embedded chat, bank logins and other interactivity on websites. But Java needs to use the same instructions whether it’s running on a Mac, Windows or Linux.

To do that, it runs what’s called the Java Virtual Machine, an isolated layer which separates it from the rest of the operating system. From there, it can ask permission to use portions of the operating system if it needs to, such as to start a chat session or to create and manage a pop-up keyboard for online banking. Java is an example of application virtualisation — a single application is kept isolated from the rest of the operating system.

Java has been around for ten years, and application virtualisation isn’t new. But recently, it’s been used more widely. Some newer antivirus and internet security software, such as ZoneAlarm Forcefield by Checkpoint Software, is using virtualisation to create a ‘test bed’. The test bed is used to investigate software that your browser downloads from the Internet. ForceField checks whether it performs any malicious operations, whether it will hijack your email software to send out spam or make copies of itself, or whether it will intercept your system’s Internet connection to spread. By mimicking aspects of your system using virtualisation, the test bed checks that the software is safe, and at the same time runs it within a completely isolated section of computer. If anything bad happens, it won’t affect the rest of your system.

Virtualisation and you

Virtualisation offers a lot of potential, but how can you make use of it for your home computer? There are number of scenarios where you might find it useful:

  • To run software requiring an older version of Windows
  • To explore new operating systems such as Linux
  • To trial software in a safe environment before using it
  • To run two or more operating systems at the same time

Indeed installing a program in a virtual machine guest before installing it on the host machine is a great way of seeing how the program runs, what changes it makes to your desktop or operating system, or if it has any malicious software inside. No matter what happens inside the guest machine, it’s completely separate and secured from the host. And as soon as you close the guest machine, everything inside ceases to exist.

This process is known as sandboxing, and while not everyone will always want to spend time setting up a guest machine just to test out software, there are real advantages to setting up a guest machine with an alternative operating system that has applications you want to use — especially legacy software, for example programs that run under Windows XP better than under Windows Vista, but you have Vista installed because it came with the machine. Here keeping a separate computer just to run Windows XP would be overkill — but with virtualisation you don’t need to. All you need to do is create a guest machine using virtualisation software and install Windows XP into it, and load it when you need it

Software for virtualisation

So what virtualisation packages can you use to create virtual machines on your system? There are several free or low cost options:

  • VirtualBox by Innotek and released by Sun Microsystems is cross-platform for Windows, Mac and Linux, and completely free. While it assumes some level of knowledge with respect to virtualisation, it’s still easy to set up and run virtual machines. It also makes it easy to set up ‘shared folders’ between a guest machines and the host, making it simple to transfer files between them.
  • VMWare produces a product called VMWare Workstation (US$189) that lets you create and run virtual machines, and it has a free companion product called VMWare Player that can’t create virtual systems, but can run them. VMWare hosts a site packed with prepared virtual systems, which includes many Linux distributions and other operating systems that don’t need end user licenses. Like VirtualBox, VMWare can be installed and run under both Windows and Linux (indeed, the first versions of VMWare were a Linux only product).
  • Virtual PC 2007 is virtualisation software from Microsoft allows drag and drop copying between the virtual computer and the base operating system through shared folders. Virtual PC used to be a commercial product, but Microsoft (possibly in light of competition) has now made it completely free to download and use. Naturally, Virtual PC is available only for Windows. There are other alternatives, but these are the big three and the easiest to use. For the Mac platform popular choices include Parallels and VMWare.

04.The future of virtualisation

 

The future of virtualisation

With the advent of hardware supported virtualisation, there’s an exciting future ahead of us. Smartphones, PDAs, and Intel’s new Nettops and Netbooks, all of which are designed to run mobile internet, are perfect candidates for the future. Desktop virtualisation means you could have a single computer — whether that be a desktop, laptop, or just a single piece of hardware — attached to your router at home, which then runs virtual systems and sends the output to all your other gadgets.

You would have access to the same files on the go as you do at home and files you modified on your mobile phone would be the original document rather than a copy. Essentially, the desktop you see is the same, regardless of what gadget you use to access it.

Right now, connection speeds are too slow to allow this easily, and some applications don’t run well remotely — imagine watching a movie on your PDA. Intel is working on software that lets mobile devices ‘hijack’ a local display — so you could view that movie through a TV rather than your tiny PDA screen, but it’s still many years away from completion.

The trend towards virtualisation also means that homes will start looking more like business computing environments, with servers and workstations. This makes backup, file management and storage — and other aspects usually associated with business computing — more important and central for home computer users.

But most of all virtualisation is allowing, for the first time for consumers, the ability to separate the underlying hardware platform from the software we run on it. Regardless of whether it’s Windows or Linux, whole desktops or just applications, you can now run the software you need when you need it, no matter what platform it was made for.