Abstract:
A method of cloning data in a memory for a source virtual machine (VM) and at least one cloned virtual machine is proposed. A mapping relationship between a guest physical address from the source VM or the cloned VM and a host physical address of the memory is defined by a plurality of page tables configured in a plurality of hierarchical levels. In the method, metadata of the page tables in the highest level or the higher levels of the plurality of hierarchical levels is copied to the virtual machine. Remaining metadata of the page tables in the levels other than the highest level or the higher levels of the plurality of hierarchical levels is replicated to the virtual machine in response to the access operation. Data stored in the corresponding address of the memory is accessed according to the metadata and the replicated metadata.
Abstract:
In one embodiment, an apparatus for managing hypercalls in a hypervisor having an interrupt handler and a schedule is described. A deferrable low-overhead hypercall (DLH) module is configured to assign a separate DLH queue to each of a plurality of virtual machines when the virtual machine is initialized. Each entry in the separate DLH queue represents a hypercall routine. When one of the virtual machines notifies the interrupt handler of at least a deferrable hypercalls to be executed, the scheduler selects at least a virtual CPU (VCPU) and assigns them to the virtual machine to run on at least a physical CPU (PCPU). The DLH module executes the at least a deferrable hypercall inserted in a DLH queue assigned to the virtual machine before restoring the VCPU context to the virtual machine having the at least an assigned VCPU.
Abstract:
In one embodiment, an apparatus for managing hypercalls in a hypervisor having an interrupt handler and a schedule is described. A deferrable low-overhead hypercall (DLH) module is configured to assign a separate DLH queue to each of a plurality of virtual machines when the virtual machine is initialized. Each entry in the separate DLH queue represents a hypercall routine. When one of the virtual machines notifies the interrupt handler of at least a deferrable hypercalls to be executed, the scheduler selects at least a virtual CPU (VCPU) and assigns them to the virtual machine to run on at least a physical CPU (PCPU). The DLH module executes the at least a deferrable hypercall inserted in a DLH queue assigned to the virtual machine before restoring the VCPU context to the virtual machine having the at least an assigned VCPU.
Abstract:
A method for identifying memories of virtual machines is provided. The method is adapted to a computer system executing at least one virtual machine, and an operating system is executed on the virtual machine. The method includes the following steps. A kernel file of the operating system is obtained, and the kernel file includes version information of the operation system. A source code and a configuration file of the operating system are obtained according to the version information, and the versions of the source code and the configuration file are complied with the version of the operating system. An object file is generated by compiling a fixed interface function with the source code according to the configuration file. Memory pages of the virtual machine are identified according to the object file. Furthermore, a computer system using the foregoing method is also provided.
Abstract:
A method for sharing memories of virtual machines is provided. The method is applied for a computer system configured to execute at least one virtual machine. The method includes the following steps. A memory map corresponding to the virtual machines is obtained, wherein usage states of memory pages of the virtual machine are stored in the corresponding memory map. Unused memory pages of the virtual machines are marked as free pages according to the corresponding memory map. The free pages of the virtual machines are shared. Therefore, the unused memory pages in the virtual machine can be shared. A computer system using the foregoing method is also provided.
Abstract:
A method for identifying memories of virtual machines is provided. The method is adapted to a computer system executing at least one virtual machine, and an operating system is executed on the virtual machine. The method includes the following steps. A kernel file of the operating system is obtained, and the kernel file includes version information of the operation system. A source code and a configuration file of the operating system are obtained according to the version information, and the versions of the source code and the configuration file are complied with the version of the operating system. An object file is generated by compiling a fixed interface function with the source code according to the configuration file. Memory pages of the virtual machine are identified according to the object file. Furthermore, a computer system using the foregoing method is also provided.
Abstract:
A method of cloning data in a memory for a source virtual machine (VM) and at least one cloned virtual machine is proposed. A mapping relationship between a guest physical address from the source VM or the cloned VM and a host physical address of the memory is defined by a plurality of page tables configured in a plurality of hierarchical levels. In the method, metadata of the page tables in the highest level or the higher levels of the plurality of hierarchical levels is copied to the virtual machine. Remaining metadata of the page tables in the levels other than the highest level or the higher levels of the plurality of hierarchical levels is replicated to the virtual machine in response to the access operation. Data stored in the corresponding address of the memory is accessed according to the metadata and the replicated metadata.
Abstract:
A method for sharing memories of virtual machines is provided. The method is applied for a computer system configured to execute at least one virtual machine. The method includes the following steps. A memory map corresponding to the virtual machines is obtained, wherein usage states of memory pages of the virtual machine are stored in the corresponding memory map. Unused memory pages of the virtual machines are marked as free pages according to the corresponding memory map. The free pages of the virtual machines are shared. Therefore, the unused memory pages in the virtual machine can be shared. A computer system using the foregoing method is also provided.