Why?
Positives
- Testing software on different types of hardware in an easier way.
- Testing malware software - disposable.
- They do not affect hardware.
- Allows for cross-platform use/testing.
- Therefore easier for developers.
- Allows for trying programs on older software/OSes.
Negatives
- Cannot accurately test hardware constraints.
- Malware can escape.
- Not all hardware can be virtualised.
Hypervisors
A physical computer can run multiple hypervisors.
- They have an independent OS, applications, and sections of hardware.
Intermediate Code
Virtual machines run on intermediate code. It sits between the hardware and software, machine code and high level code.
- It is non hardware specific, and therefore perfect for virtual machine.