This document discusses virtual computing and virtual machines. It begins by defining virtual machines as isolated partitions within a computer that allow different operating systems to run simultaneously. Virtual machines prevent applications from interfering with each other and isolate crashes. The document then covers the history of virtual machines, how they function, advantages like consolidation and migration, risks, and characteristics of on-demand access and resource pooling. It provides examples of virtual machine monitors, paravirtualization, and deployment models like public and private clouds.