Saturday, May 12, 2018

Popek and Goldberg Requirements for Virtualization

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