210 likes | 590 Views
Hypervisor. Courtesy : https://en.wikipedia.org/wiki/Hypervisor. Hypervisor. A hypervisor or virtual machine monitor ( VMM ) is computer software , firmware or hardware that creates and runs virtual machines .
E N D
Hypervisor Courtesy : https://en.wikipedia.org/wiki/Hypervisor
Hypervisor • 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.
Hypervisor • 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
Hypervisor • 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.
Type-1, native or bare-metal hypervisors • These hypervisors run directly on the host's hardware to control the hardware and to manage guest operating systems. For this reason, they are sometimes called bare metal hypervisors. • The first hypervisors, which IBM developed in the 1960s, were native hypervisors. • These included the test software SIMMON and the CP/CMS operating system (the predecessor of IBM's z/VM). • Modern equivalents include AntsleOs, Xen, XCP-ng, Oracle VM Server for SPARC, Oracle VM Server for x86, Microsoft Hyper-V, Xbox One system software, and VMware ESX/ESXi.
Type-2 or hosted hypervisors • Type-2 hypervisors run on a conventional OS just as other computer programs do. • A guest OS runs as a process on the host. • Type-2 hypervisors abstract guest operating systems from the host operating system. • VMware Workstation, Vmware Player, VirtualBox, Parallels Desktop for Macand QEMU are examples of type-2 hypervisors.
Virtual Machine (VM) • A "virtual machine" was originally defined by Popek and Goldberg as "an efficient, isolated duplicate of a real computer machine. • Current use includes virtual machines that have no direct correspondence to any real hardware. • The physical, "real-world" hardware running the VM is generally referred to as the 'host', and the virtual machine emulated on that machine is generally referred to as the 'guest'. • A host can emulate several guests, each of which can emulate different operating systems and hardware platforms.
Virtual Machine (VM) • In computing, a virtual machine (VM) is an emulation of a computer system. • An emulator is HW or SW that enables one computer system to behave like another computer system (called the guest). • An emulator typically enables the host system to run SW or use peripheral devices designed for the guest system. • Virtual machines are based on computer architectures and provide functionality of a physical computer. • Their implementations may involve specialized HW, SW, or a combination.
Virtual Machine (VM) • There are different kinds of virtual machines, each with different functions: • System virtual machines (also termed full virtualization VMs) provide a substitute for a real machine. • They provide functionality needed to execute entire operating systems. • A hypervisor uses native execution to share and manage hardware, allowing for multiple environments which are isolated from one another, yet exist on the same physical machine. • Modern hypervisors use hardware-assisted virtualization, virtualization-specific hardware, primarily from the host CPUs.
Virtual Machine (VM) • Process virtual machines are designed to execute computer programs in a platform-independent environment. • Some virtual machines, such as QEMU, are designed to also emulate different architectures and allow execution of software applications and operating systems written for another CPU or architecture. • Operating-system-level virtualization allows the resources of a computer to be partitioned via the kernel's support for multiple isolated user space instances, which are usually called containers and may look and feel like real machines to the end users.
System virtual machines • The desire to run multiple operating systems was the initial motive for virtual machines, so as to allow time-sharing among several single-tasking operating systems. • In some respects, a system virtual machine can be considered a generalization of the concept of virtual memory that historically preceded it. • IBM's CP/CMS, the first systems to allow full virtualization, implemented time sharing by providing each user with a single-user operating system, the Conversational Monitor System (CMS). • Unlike virtual memory, a system virtual machine entitled the user to write privileged instructions in their code. This approach had certain advantages, such as adding input/output devices not allowed by the standard system.
Process virtual machines • A process VM, sometimes called an application virtual machine, or Managed Runtime Environment (MRE), runs as a normal application inside a host OS and supports a single process. • It is created when that process is started and destroyed when it exits. • Its purpose is to provide a platform-independent programming environment that abstracts away details of the underlying hardware or operating system and allows a program to execute in the same way on any platform. • A process VM provides a high-level abstraction are implemented using an interpreter; performance comparable to compiled programming languages can be achieved by the use of just-in-time compilation. • This type of VM has become popular with the Java programming language, which is implemented using the Java virtual machine. • Other examples include the Parrot virtual machineand the .NET Framework, which runs on a VM called the Common Language Runtime.
Full virtualization • In full virtualization, the VM simulates enough HW to allow an unmodified "guest" OS (one designed for the same instruction set) to be run in isolation. • This approach was pioneered in 1966 with the IBM CP-40 and CP-67, predecessors of the VM family. • Examples outside the mainframe field include Parallels Workstation, Parallels Desktop for Mac, VirtualBox, Virtual Iron, Oracle VM, Virtual PC, Virtual Server, Hyper-V, VMware Workstation, VMware Server (discontinued, formerly called GSX Server), VMware ESXi, QEMU, Adeos, Mac-on-Linux, Win4BSD, and vBlade technology.