This paper discusses the core properties of virtual machines and the various desktop virtualization architectures including hypervisors, paravirtualizers, application containers, emulators, and workspace virtualization.