Virtualization is a word that has been used in many contexts over the years. However, it always concerns abstracting a physical resource as a virtual one. It is not a new concept. Virtual memory on a per-process basis is the main schoolbook example, present in all operating systems. Partitions on a single hard drive that each look like separate physical drives to an operating system are also technically virtualization. But the buzz the last few years has been about virtualizing everything in a physical machine. This is not a new concept either, it goes back at least as far as to IBM in the 1960s. Not until recently, however, has virtualization proven itself as a way to increase resource utilization and manageability in the server room.
Virtualization, for the purposes of this book, is the practice of running a platform (such as an operating system) or an individual application on virtual hardware, emulated in software. The virtual hardware typically looks like...