Virtualization is a collection of software technologies that enable software applications to run on virtual hardware (virtualization via virtual machines and hypervisor) or virtual operating systems (virtualization via containers). A virtual machine (VM), also called a guest machine, is a software simulation of a hardware platform that provides a virtual operating environment for guest operating systems. A hypervisor, also called a virtual machine monitor (VMM), is a software program that runs on an actual host hardware platform and supervises the execution of the guest operating systems on the virtual machines.
As shown by the following figure, there are two types of virtualization via VMs, based on the type of hypervisor used:
- A type 1 hypervisor, also called a native or bare metal hypervisor, is hosted directly on the underlying hardware.
- A type 2 hypervisor, also called a hosted hypervisor, is hosted on top of a host operating system.
VM Virtualization via a Type 1 Hypervisor
By providing additional details, the notional diagram below shows how 14 software applications running on various guest operating systems have been deployed onto 7 virtual machines running on a type-1 hypervisor. This diagram also shows how these applications, operating systems, and virtual machines have been allocated to the four cores of a multicore processor. Some interesting aspects of this architecture include the following:
- This architecture adds an additional virtualization layer, consisting of two sub layers (VMs and type-1 hypervisor), to an architecture that was already made complex by having multiple cores.
- By providing simulated hardware environments, the VMs enable the use of different operating systems.
- Applications share VMs, the hypervisor, and cores as shared resources, thereby providing single points of failure and possible interference paths. Interference can occur when the execution of one application running in one VM affects the execution of another application running in a second VM by violating either the spatial or temporal isolation of the VMs:
Physical isolation ensures that software executing in different virtual machines cannot access the same physical hardware (e.g., memory locations such as caches and RAM).
Temporal isolation ensures that the execution of software on one VM does not impact the temporal behavior of software running on another VM.
VM Virtualization via a Type 2 Hypervisor
Similar to the previous diagram, the figure below shows how a type-2 hypervisor architecture differs from a type-1 hypervisor architecture. In addition to the virtualization layer, it has two infrastructure layers: a host operating system layer and a guest operating system layer. While this approach is similar to a type-1 hypervisor architecture, a type-2 hypervisor architecture is even more complex and provides an additional shared resource (the host operating system) that can act as a single point of failure and source of interference between applications.
Reference:
https://insights.sei.cmu.edu/blog/virtualization-via-virtual-machines/
0 comments :
Post a Comment
Note: only a member of this blog may post a comment.