Virtualization has been around for a long time as a way to run multiple operating systems on the same machine in order to better utilize physical resources.
One way to achieve virtualization is to employ a virtual machine. Virtual machines work by creating virtual hardware resources, such as CPU, memory, and devices, and use those to install and run multiple operating systems on the same machine. Virtualization can be accomplished by installing a hypervisor application on top of an operating system (called host). The hypervisor is capable of creating, managing, and monitoring virtual machines and their respective operating systems (called guests).