CPU virtualization involves a single CPU acting as if they were two separate CPUs. It’s actually like running two separate computers on a single physical machine. Perhaps the most common reason to do this is to run two different operating systems on one machine.
A Central Processing Unit (CPU).
The CPU, or central processing unit, is arguably the most important component of the computer. It is the part of the computer that physically executes the instructions of applications running on the computer. The CPU is often known simply as a chip or microchip.
It is possible to install more than one operating system on a computer’s hard drive.
How the CPU interacts with applications is determined by the computer’s operating system. The most popular operating systems are Microsoft Windows®, Mac OS® and various open source systems under the banner of Linux. In principle, a CPU can only run one operating system at a time. It is possible to install more than one system on a computer’s hard drive, but normally only one can be running at a time.
The purpose of CPU virtualization is to make one CPU work the same as two separate CPUs. A very simplified explanation of how this is done is that the virtualization software is configured so that it, on its own, communicates directly with the CPU. Everything else that happens on the computer goes through the software. The software then shares its communication 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 the same time. For example, an Apple computer can use virtualization to run a version of Windows® as well, allowing the user to run Windows®-only applications. Likewise, a Linux-based computer can run Windows® through virtualization. You can also 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 that it allows a single computer to be used by multiple people at the same time. This would work by a machine with a CPU running virtualization software and the machine then connected to multiple “tables”, each with a keyboard, mouse and monitor. Each user would be running their own copy of the operating system through the same CPU. This setup is particularly popular in places like schools in developing markets where budgets are tight. It works best where users are primarily 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 the same time. Every modern operating system allows this to be done on a single CPU, although technically only one application is handled at any given time. Hyperthreading is where compatible CPUs can run specially written applications in a way that performs two actions at the same time.