摘要 |
<p>Extensions or other software applications can have direct access to hardware from within a virtual machine environment. The physical addresses of hardware can be mapped into the process space of the virtual machine environment. Similarly, I/O ports can be allowed to pass through into the virtual environment. The virtual machine can detect an upcoming Direct Memory Access (DMA), and can provide the correct addresses for the DMA, while the necessary memory can be pinned. If the virtual machine is executing when a hardware interrupt arrives, it can emulate the interrupt line inside its process. Conversely, if the host operating system is executing, it can disable interrupts and track temporary interrupts, and subsequently transfer control to the virtual machine process, emulate the temporary interrupts and reenable interrupts. Alternatively, the host operating system can immediately transfer control, or it can execute the interrupt servicing routines in its own process.</p> |