Everywhere you turn, IT professionals are talking about virtualization as the next big wave in technology. People banter around the terms Virtualization, Virtual PC, VMware, and others. But while IT people debate virtualizing computers, many people don't understand the concept, or why it's even needed.
To get an understanding of virtualization, computer users need a little understanding of whats going on in their computers while they're being used. Specifically, as computers have gotten faster and more powerful, users haven't been able to work as fast the computers can. This has allowed Windows to “multi-task” or do more than one thing at a time. Since the computer can't really do more than one thing at a time, it switches between tasks so quickly it appears to the user that the computer is doing more than one thing at a time.
While some things, like watching a DVD for instance, require more from the Central Processing Unit (CPU or brain of the computer), many things can run at the same time with no noticeable impact (or very little) from the user. This allows programs to “share” resources, like memory, CPU, the keyboard, and other hardware components. The software that provides virtualization is just another process in the system, and is able to share resources with other processes. This explains how virtualization works, but it doesn't explain what it is.
Virtualization is software (and sometimes part hardware in newer computers) takes some of the resources in the computer, and dedicates it for a specific purpose. This “splitting” of resources allows for a “virtual” computer system. From the “host” system, the system running the virtualization software, the resources are shared. But from inside this “client” system, the client system only “sees” the resources dedicated to it. As an example, if your computer has 512 Megabytes of computer memory, you can create a virtual system with 256 Megabytes of memory. Your computer sees all 512 Megabytes of memory, with a software programming dedicated to 256 Megabytes. However, the virtual “computer” sees it's own processor and 256 Megabytes of memory. And inside this virtual system, you can run a completely different operating system and it's applications.