Popek and Goldberg provided a classification of the instruction set and proposed three theorems that define the properties that hardware instructions need to satisfy in order to efficiently support virtualization.
Theorem 1: For any conventional third-generation, a VMM maybe constructed if the set of sensitive instructions for that computer is a set of privileged instructions.
This theorem establishes that all the instructions that change the configuration of the system resources should generate a trap in user mode and be executed under the control of the virtual machine manager.
Theorem 2:A conventional third-generation computer is recursively if:
- It is virtualizable and
- A VMM without any timing dependencies can be constructed for it.
Recursive virtualization is the ability to run a virtual machine manager on top of another virtual machine manager. This allows nesting hypervisors as long as the capacity of the underlying resources can accommodate that. Virtualizable hardware is a prerequisite to recursive virtualization.
THEOREM 3:
A hybrid VMM may be constructed for any conventional third-generation machine in which set of user-sensitive instructions is a subset of the set of privileged instructions.
There is another term, hybrid virtual machine (HVM), which is less efficient than the virtual machine system. In the case of an HVM, more instructions are interpreted rather than being executed directly. All instructions in virtual supervisor mode are interpreted. Whenever there is an attempt to execute a behavior-sensitive or control-sensitive instruction, HVM controls the execution directly or gains the control via a trap. Here all sensitive instructions are caught by HVM that are simulated.