Machine and I/O virtualization
Monday, February 14, 2011
10:38 AM
Most things about machine virtualization are easy. 
Running two operating systems is like running two "programs".
Separate sections of memory. 
Separate disk. 
Hard part: sharing resources and devices. 
Devices have state. 
A disk drive doesn't take well to being asked to read something during a write. 
An I/O driver is a piece of software designed to maintain proper device state. 
Therefore, most of the work of machine virtualization is I/O virtualization. 