October 10, 2018
Virtualization is not a new idea, in fact, it was first brought up in the 1970s, when there were many different OS for different purposes running on different computers. IBM invented the idea of running several virtual computers at the same time on top of one physical computer to accommodate different OS.
Operating system is able to do things that applications cannot, in case applications accidentally or maliciously crash the machine. The hardware implementation of this mechanism is called kernel Mode or supervisor mode, in Intel family processors specifically, it is called ring zero privileged level.
When application tries to issue instructions and access things that will cause a fault, a piece of the operating system is there to provide virtual machine support by emulating the instruction. Many processors are essentially designed to be easy to be virtualizable.
The term hypervisor is a variant of supervisor, a traditional term for the kernel of an operating system: the hypervisor is the supervisor of the supervisor, with hyper- used as a stronger variant of super-.
A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Multiple instances of a variety of operating systems may share the virtualized hardware resources: for example, Linux, Windows, and macOS instances can all run on a single physical x86 machine. This contrasts with operating-system-level virtualization, where all instances (usually called containers) must share a single kernel, though the guest operating systems can differ in user space, such as different Linux distributions with the same kernel.
Written by Warren who studies distributed systems at George Washington University. You might wanna follow him on Github