### Transparency
- VMM must provide an execution environment such that the guest OS feels like it is running on an actual machine (or identical to underlying physical machine)
### Complete mediation
- VMM must control all real (physical) resources
### Efficiency
- Most VM instructions (user or guest OS level instructions, not privileged instructions) should execute natively
## VM Requirements for Type 1 VMM
1. Non-privileged instructions should be executed the same way in user, guest VM OS and VMM
2. All privileged instructions executed outside of VMM must trap to it. What instructions are privileged?
1. Instructions that attempt to reference mode of VM and state of physical machine
2. Instructions that read or write into sensitive registers and memory locations
3. Instructions that impact memory protection system and address translation
Virtualization dates back to 70s & 80s. At the time, Intel Pentium had sensitive instructions that were not privileged. This led to the creation of Virtualization technology (VT-x)