摘要 |
A method, apparatus and system are described for seamlessly and concurrently sharing a graphics device amongst multiple virtual machines ("VMs") on a host computer. Specifically, according to one embodiment of the invention, a graphics device may be shared by multiple VMs such that only the output of one VM (i.e., the "focus VM") is displayed on a display device coupled to the host computer. The focus VM may be identified according to a variety of ways. The focus VM may render its output into a frame-buffer and/or an overlay buffer, and the page table entries ("PTEs) that point to the frame-buffer may then be copied to a display buffer in an unused memory location associated with the focus VM. The PTEs may additionally be copied to display buffers in unused memory locations associated with the non-focus VMs on the host. The display buffer may then output its display (via the pointers to the frame buffers) to the display device. This output remains that of the focus VM until a different VM is selected as the new focus VM. The process may then repeat itself.
|