| Advantages | Disadvantages |
|---|---|
| Run multiple OS on one physical machine | Performance overhead compared to native |
| Isolation from host system (security) | Resource sharing with host system |
| Easy backup and restoration (snapshots) | Complexity in management |
| Cost-effective for testing across environments | |
| Hardware independence (intermediate code) |
VMs often execute intermediate code (like Java bytecode or .NET IL), which is not tied to specific hardware. This allows the same code to run on different systems with the appropriate VM.