Virtualization for Today’s Servers and Other Applications
One of the challenges in running multiple OSes in a “virtual” environment is that most OSes were designed to run at the highest priority level. In most cases, the primary OS runs at the highest level and guest OSes run at lower levels.
Intel offers tools to improve virtualization. Hardware support includes a set of queues for buffering up I/O requests from the hypervisor software. Intel offers an even higher priority level for the virtualization software and lets the original OSes run in their normal mode. Also, the hardware supports memory mapping and helps manage transitions from one OS to the other through the use of registers and queues.