Posted 01/01/09 at 02:00:00 PM by Michael Brown

Can a computer exist without hardware? It can if it’s a virtual machine. A virtual machine is software that’s capable of executing programs as if it were a physical machine—it’s a computer within a computer. Virtual machines can be divided into two broad categories: process virtual machines and system virtual machines.
A process virtual machine is limited to running a single program. A system virtual machine, on the other hand, enables one computer to behave like two or more computers by sharing the host hardware’s resources. A system virtual machine consists entirely of software, but an operating system and the applications running on that OS see a CPU, memory, storage, a network interface card, and all the other components that would exist in a physical computer. For the remainder of this discussion, we’ll use the term “virtual machine” to refer to a system virtual machine.
Software running on a virtual machine is limited to the resources and abstract hardware that the virtual machine provides. Since a virtual machine can provide a complete instruction set architecture (ISA, a definition of all the data types, registers, address modes, external input/output, and other programming elements that a given collection of hardware is capable of working with), a virtual machine can simulate hardware that might not even exist in the physical world.
Using virtual machines, a computer can run several iterations of an operating system—or even several different operating systems—with each OS isolated from and oblivious to the existence of the others. The only requirement is that each operating system must be capable of supporting the underlying hardware. And, of course, there must be enough resources (memory, hard disk space, CPU cycles, and so on) to support everything. You could use a virtual machine to run Linux on top of Windows, for instance, or you could run two versions of Windows and use one as a sandbox for testing software you wouldn’t trust on a “real” machine.
Read on for more about virtual machines!
Feature
Review
Feature
Feature
Feature
