Hypervisor

A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of 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. Unlike an emulator, the guest executes most instructions on the native hardware.[1] 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.

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 supervisors,[2] with hyper- used as a stronger variant of super-.[a] The term dates to circa 1970;[3] IBM coined it for software that ran OS/360 and the 7090 emulator concurrently on the 360/65[4] and later used it for the DIAG handler of CP-67. In the earlier CP/CMS (1967) system, the term Control Program was used instead.

Some literature, especially in microkernel contexts, makes a distinction between hypervisor and virtual machine monitor (VMM). There, both components form the overall virtualization stack of a certain system. Hypervisor refers to kernel-space functionality and VMM to user-space functionality. Specifically in these contexts, a hypervisor is a microkernel implementing virtualization infrastructure that must run in kernel-space for technical reasons, such as Intel VMX. Microkernels implementing virtualization mechanisms are also referred to as microhypervisor.[5][6] Applying this terminology to Linux, KVM is a hypervisor and QEMU or Cloud Hypervisor are VMMs utilizing KVM as hypervisor.[7]

  1. ^ Goldberg, Robert P. (1973). Architectural Principles for Virtual Computer Systems (PDF) (Technical report). Harvard University. ESD-TR-73-105.
  2. ^ Bernard Golden (2011). Virtualization For Dummies. p. 54.
  3. ^ "How did the term "hypervisor" come into use?".
  4. ^ Gary R. Allred (May 1971). System/370 integrated emulation under OS and DOS (PDF). 1971 Spring Joint Computer Conference. Vol. 38. AFIPS Press. p. 164. doi:10.1109/AFIPS.1971.58. Retrieved June 12, 2022.
  5. ^ Steinberg, Udo; Kauer, Bernhard (2010). "NOVA: A Microhypervisor-Based Secure Virtualization Architecture" (PDF). Proceedings of the 2010 ACM European Conference on Computer Systems (EuroSys 2010). Paris, France. Retrieved August 27, 2024.
  6. ^ "Hedron Microkernel". GitHub. Cyberus Technology. Retrieved August 27, 2024.
  7. ^ "Cloud Hypervisor". GitHub. Cloud Hypervisor Project. Retrieved August 27, 2024.


Cite error: There are <ref group=lower-alpha> tags or {{efn}} templates on this page, but the references will not show without a {{reflist|group=lower-alpha}} template or {{notelist}} template (see the help page).