What is a Virtual Computer?
Much has been appearing in the press lately about the concept of virtual machines. I suspect this trend will continue into the foreseeable future, as the economics and practicality of virtual machines is realized by mainstream businesses.
But what is it? I’ll give the short answer in this blog.
A virtual computer is nothing more than a sophisticated piece of software that runs on a computer, and its main purpose is to simulate the actions of . . . another computer! Why run software to simulate a computer when the software itself already runs on a computer? It does seem a bit redundant to build a computer only to simulate a computer, but there are some big advantages to doing this:
- One real computer can run several copies of the simulated computer, essentially creating numerous computers all on the same hardware.
- Each virtual computer can run different versions of an Operating System. For example, you could run Linux, Windows and Mac all on one piece of hardware, all running separately without interfering with each other. It’s like having all different operating systems in one!
- Individuals within a company could own one or more copies of a virtual computer, each with its own unique setup and tailored to that person’s personal needs.
- When testing software, you can run the same software version on several different variations of Windows (Win95, Windows 2000, XP, etc.) without having to purchase a separate PC for every test.
- Virtual computers can be saved on disk – or a memory stick – and then run again either on the same physical hardware or a different piece of hardware. This allows you to upgrade your hardware without having to uninstall and reinstall software on a new machine. (There are also ways of “migrating” virtual machines over a network.)
- All virtual computers are totally isolated from each other. There are certain hardware tricks – such as using a memory management unit – that can guarantee isolation. Thus, if one computer gets infected from a virus, it cannot jump across virtual boundaries to infect other copies.
- There’s a huge “Green” benefit to virtual computing. Each real computer takes a certain amount of power, and because it produces heat, an equal amount of power must be used to control the environment. In light of the fact that CPUs are rarely kept 100% busy, the power overhead for running separate computers is wasted. On the other hand, each computer that is consolidated into a virtual computer will save a unit of energy roughly equivalent to running a real computer.
The concept of simulating a computer with another computer has been around for at least 40 years, but it really hasn’t broken into the mainstream because virtual computers require a lot of memory, and lots of cheap memory was not available until recently.
One of the more fascinating aspects of virtual computers is their ability to virtualize nearly everything on a real computer, including the network interface. Each virtual computer can have its own network interface. In reality, the virtual PCs all share the same network interface card, but certain software tricks allow the card to look like a router to all the virtual computers. For example, the hardware network card can have an external address of 192.168.1.122, and internally, a router can be simulated such that all virtual PCs sit on the 67.68.23.0/24 network. Essentially, the physical hardware is re-programmed to route between two subnets, just like a real router. And like a real router, you can build a virtual internal network and actually implement network routing protocols.
There are also some big headaches with virtual computers. Some are physical, others are legal.
- Software manufacturers have to figure out how to license each installation. For example, a customer could argue that one version of Windows XP per machine is what’s stated in the EULA; however, with virtual machines, several copies of XP can be running in the same physical machine.
- IT managers not only have to worry about networks in the real world, but they now have to manage virtual networks. As each piece of hardware can have numerous internal virtual machines, IT workload multiplies.
- There are a few significant hardware functions that are nearly impossible to replicate across all virtual machines. The computer’s clock, for example, interrupts the real hardware CPU. This hardware interrupt is difficult to replicate in software, and thus applications that are highly dependent on clock interrupts will tend to slow down when the hardware CPU gets really busy. I’ve personally seen virtual machines lose 20 seconds each minute!
- Just because virtual computers are . . . ah . . . virtual, don’t think that they’re cheap. Although prices are beginning to slide downhill, virtual machine software is still very expensive. The good news is that you can find some free packages from places like VMware and Citrix.
- The performance of a virtual computer is generally somewhat less than that of a real machine. For example, you probably cannot play Halo on a virtual machine, as you would need to have direct access to the video hardware so the game could “render” in real time. But these special requirements are more the exception than the rule. Most users of virtual machines are just running tasks – like an office suite – that do not require super high performance.
Overall, virtual computing looks like it’s here to stay. Companies are beginning to realize that it’s easier to manage a central repository of virtual computers than it is to manage a widely dispersed collection of individual PCs at people’s desks. Also, the reduced power consumption not only saves on the bottom line, but it’s an environmentally good idea. Finally, virtual computers offer a degree of consistency and control over a business environment.
Best,
Dan
Set as favorite
Bookmark
Email this
Trackback(0)
Comments (0)

Write comment



