CPU virtualization involves a single CPU acting as if it were two separate CPUs. In effect, this is like running two separate computers on a single physical machine. Perhaps the most common reason for doing this is to run two different operating systems on one machine.
The CPU, or central processing unit, is arguably the most important component of the computer. It is the part of the computer which physically carries out the instructions of the applications which run on the computer. The CPU is often known simply as a chip or microchip.
The way in which the CPU interacts with applications is determined by the computer's operating system. The best known operating systems are Microsoft Windows®, Mac OS® and various open-source systems under the Linux banner. In principle a CPU can only operate one operating system at a time. It is possible to install more then one system on a computer's hard drive, but normally only one can be running at a time.
The aim of CPU virtualization is to make a CPU run in the same way that two separate CPUs would run. A very simplified explanation of how this is done is that virtualization software is set up in a way that it, and it alone, communicates directly with the CPU. Everything else which happens on the computer passes through the software. The software then splits its communications with the rest of the computer as if it were connected to two different CPUs.
One use of CPU virtualization is to allow two different operating systems to run at once. As an example, an Apple computer could use virtualization to run a version of Windows® as well, allowing the user to run Windows®-only applications. Similarly a Linux-based computer could run Windows® through virtualization. It's also possible to use CPU virtualization to run Windows® on a Mac® or Linux PC, or to run Mac OS® and Linux at the same time.
Another benefit of virtualization is to allow a single computer to be used by multiple people at once. This would work by one machine with a CPU running virtualization software, and the machine then connecting to multiple "desks," each with a keyboard, mouse and monitor. Each user would then be running their own copy of the operating system through the same CPU. This set-up is particularly popular in locations such as schools in developing markets where budgets are tight. It works best where the users are mainly running applications with relatively low processing demands such as web browsing and word processing.
CPU virtualization should not be confused with multitasking or hyperthreading. Multitasking is simply the act of running more than one application at a time. Every modern operating system allows this to be done on a single CPU, though technically only one application is dealt with at any particular moment. Hyperthreading is where compatible CPUs can run specially written applications in a way that carries out two actions at the same time.