This document provides an introduction to virtual machines. It defines virtual machines as software implementations that emulate an entire physical computer system. It describes two main types of virtual machines - system virtual machines that virtualize an entire operating system and process virtual machines that virtualize individual applications. The document outlines the advantages of virtual machines in enabling hardware and software innovation as well as the ability to run different operating systems on the same physical machine. It also provides examples of various virtual machine technologies throughout history.