HyperVisors and Virtual Machines

1. Virtual Machine Monitor / Manager (Hypervisor)

Definition: A layer of software/firmware managing multiple VMs on a single physical host.
Pasted image 20240622205912.png

2. Implementation Types

Pasted image 20240622210141.jpg

3. Para-Virtualization

Pasted image 20240622210244.png

4. Programming Environment Virtualization

5. Emulation

6. Microkernels and Exokernels

Summary

Microkernels focus on modularity and reliability, with a small core kernel, while exokernels prioritize performance and flexibility by allowing applications direct hardware control. The choice depends on design goals and trade-offs. Hypervisors, essential for virtualization, come in two types: Type 1 for direct hardware access and Type 2 for ease of use on existing OS. Emulation and programming environment virtualization facilitate cross-platform compatibility and consistent development setups.