VMM Definition
Three fundamental requirements have to be meet when a virtual machine monitor creates a virtual environment that provides abstraction of a virtual machine:- Equivalence: The virtual hardware needs to be sufficiently equivalent to the underlying hardware
- Safty: The virtual machine is completely isolated from other virtual machines and virtual machine monitor.
- Performance: The overhead of virtualization must be sufficiently small.
Instruction Classification
- Privilege instructions: those that trap in user mode and do not trap in kernel mode
- Control-sensitive instructions: those that change control state of the architecture
- Behavior-sensitive instructions: those whose behavior depends on the configuration of resources
Theorem
If sensitive instructions, union of control-sensitive and behavior-sensitive instructions, is a subset of privileged instructions, a virtual machine monitor can be constructed.
The theorem provides a simple technique for implementing a VMM - trap-and-emulate virtualization, all sensitive instructions always trap and pass control to VMM and non-privileged instructions are executed natively.
References
1. https://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements
2. Popek, G. J.; Goldberg, R. P. (July 1974). "Formal requirements for virtualizable third generation architectures". Communications of the ACM. 17 (7): 412–421. doi:10.1145/361011.361073.
No comments:
Post a Comment