Patent ID: 7739417

Claim:
A virtual machine system, comprising a Virtual Machine Monitor (VMM), a Service Operating System (SOS), and at least one Guest Operating System (GOS), wherein the VMM comprises a communication module and the SOS comprises a Device Module (DM), wherein the virtual machine system further comprises: a resource converting module for performing Input/Output (IO) address converting on a graphics card framebuffer accessing data from the at least one GOS or mapping at least one Memory Mapped IO (MMIO) to at least one physical MMIO of a graphics card based on an at least one resource converting table and sending the processed data to the graphics card; a framebuffer allocating module for dividing a framebuffer resource of the graphics card into a plurality of blocks and allocating them respectively to the corresponding at least one GOS; a register access control module for setting a value of a display start address register of the graphics card to a start address of the framebuffer corresponding to the GOS currently in the foreground, and sending accesses to graphics card control registers by the operating system currently in the foreground to the graphics card control registers, while sending accesses to the graphics card control registers by at least one other operating system to a register simulating and saving module; and the register simulating and saving module for simulating changes in the graphics card control registers based on the accesses to the graphics card control registers by the at least one GOS and a process flow of the graphics card control registers, and saving the values of the graphics card control registers, wherein, the at least one resource converting table records correspondences between a resource allocation for the graphics card by the SOS and a resource allocation or resource allocations for the graphics card by the at least one GOS, and at least one framebuffer MMIO resource allocated to the graphics card by the GOS is the framebuffer allocated to the at least one GOS by the framebuffer allocating module.