(Usage hints for this presentation)
IT Systems, Summer Term 2024
Dr. Jens Lechtenbörger (License Information)
Virtualization provides (virtual) hardware interface
Interface implemented by Hypervisor/VMM
Virtual hardware can have arbitrary features
Containerization (e.g., with Docker) as lightweight variant of virtualization
Use containers to execute software (versions) in controlled way
Virtualization: Creation of virtual/abstract version of something
Cited from (Popek and Goldberg 1974)
“A virtual machine is taken to be an efficient, isolated duplicate of the real machine.” (bold face added)
Made precise with Virtual Machine Monitor (VMM)
“First, the VMM provides an environment for programs which is essentially identical with the original machine; second, programs run in this environment show at worst only minor decreases in speed; and last, the VMM is in complete control of system resources.”
Essentially identical: Programs with same results (as long as they do not ask for hardware specifics), maybe different timing
Speed: Most instructions executed directly by CPU with no VMM intervention
Control: (1) Virtualized programs restricted to resources allocated by VMM, (2) VMM can regain control over allocated resources
“A virtual machine is the environment created by the virtual machine monitor.”
Isolation of VMs: Illusion of exclusive hardware use (despite sharing between VMs)
Sub-types (see (Soltesz et al. 2007; Felter et al. 2015))
Resource isolation: Fair allocation and scheduling
Fault isolation: Buggy component should not affect others
Security isolation
Hypervisor/VMM with full access to hardware
Source files are available on GitLab (check out embedded submodules) under free licenses. Icons of custom controls are by @fontawesome, released under CC BY 4.0.
Except where otherwise noted, the work “Virtualization”, © 2019, 2021, 2024 Jens Lechtenbörger, is published under the Creative Commons license CC BY-SA 4.0.