Virtual Machine (VM)

A computer resource that uses software instead of a physical computer to run programs and deploy applications

  • One or more virtual guest machines run on a physical host machine

  • VMs provide isolation at many different levels

    • Each VM is managed independently and may have different OSes, different virtual disks, different MAC addresses, different IP addresses, etc.

VMs vs OSes

If virtual machines have the same benefits as an OS, why then do we need them?

  • OSes have methods of dealing with program isolation, resource allocation, and program abstraction with things, such as ACLs, etc.
    • However, these methods are difficult to use properly and scale in difficulty with system complexity