IP Library › Granted Patent US 8,127,107
Granted Patent B2
US 8,127,107 · App. 12/466,258 · Granted Feb 28, 2012

Virtualization with merged guest page table and shadow page directory

Assignee: VMware, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,127,107
App. No.
12/466,258
Granted
Feb 28, 2012
Kind
B2
Abstract

In a computing system having virtualization software including a guest operating system (OS), a method for providing page tables that includes: providing a guest page table used by the guest OS and a shadow page table and a shadow page directory used by the virtualization software wherein: at least a portion of the guest page table and the shadow page directory are the same; and the portions that are the same are shared in computer memory by the guest page table and the shadow page directory.

Claims (20)

1. In a computing system comprised of virtualization software including a guest operating system (OS), a method for providing page tables that comprises:

providing a guest page table used by the guest OS; and

providing a shadow page table and a shadow page directory used by the virtualization software, wherein a portion of the guest page table and a portion of the shadow page directory are the same, and stored in computer memory at the same physical location of the computer memory.

2. The method of claim 1 , further comprising: a directory difference structure identifying which portions, if any, of the guest page table and the shadow page directory are different.

3. The method of claim 2 , wherein the directory difference structure indicates when an entry in a guest page table identifies a machine address or should be converted so as to identify a machine address, based on which portions of the guest page table and the shadow page directory are different.

4. The method of claim 2 , wherein the virtualization software merges portions of the guest page table and the shadow page directory as the guest OS operates so that the merged portions are stored at the same location of the computer memory and separates the merged portions of the guest page table and the shadow page directory that are stored at the same location of the computer memory as the guest OS operates.

5. The method of claim 4 , wherein the virtualization software updates the directory difference structure when either merging or separating portions of the guest page table and the shadow page directory.

6. A non-transitory computer readable storage medium storing instructions that, when executed by a processor, causes a computing system comprised of virtualization software including a guest operating system (OS), to provide page tables by performing the steps of:

providing a guest page table used by the guest OS; and

providing a shadow page table and a shadow page directory used by the virtualization software, wherein a portion of the guest page table and a portion of the shadow page directory are the same, and stored in computer memory at the same physical location of the computer memory.

7. The computer readable storage medium of claim 6 wherein the computing system, when executing the instructions by the processor, further provides a directory difference structure identifying which portions, if any, of the guest page table and the shadow page directory are different.

8. The computer readable storage medium of claim 7 , wherein the directory difference structure indicates when an entry in a guest page table identifies a machine address or should be converted so as to identify a machine address, based on which portions of the guest page table and the shadow page directory are different.

9. The computer readable storage medium of claim 7 , wherein the virtualization software merges portions of the guest page table and the shadow page directory as the guest OS operates so that the merged portions are stored at the same location of the computer memory and separates the merged portions of the guest page table and the shadow page directory that are stored at the same location of the computer memory as the guest OS operates.

10. The computer readable storage medium of claim 9 , wherein the virtualization software updates the directory difference structure when either merging or separating portions of the guest page table and the shadow page directory.

11. A computing system comprised of virtualization software including a guest operating system (OS), the computer system further comprising:

a memory storing a guest page table used by the guest OS, and a shadow page table and a shadow page directory used by the virtualization software, wherein a portion of the guest page table and a portion of the shadow page directory are the same, and stored in the same physical location of the memory.

12. The computing system of claim 11 , wherein the memory further stores a directory difference structure identifying which portions, if any, of the guest page table and the shadow page directory are different.

13. The computing system of claim 12 , wherein the directory difference structure indicates when an entry in a guest page table identifies a machine address or should be converted so as to identify a machine address, based on which portions of the guest page table and the shadow page directory are different.

14. The computing system of claim 12 , wherein the virtualization software merges portions of the guest page table and the shadow page directory as the guest OS operates so that the merged portions are stored at the same location of the computer memory and separates the merged portions of the guest page table and the shadow page directory that are stored at the same location of the computer memory as the guest OS operates.

15. The computing system of claim 14 , wherein the virtualization software updates the directory difference structure when either merging or separating portions of the guest page table and the shadow page directory.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2009
From: DEVINE, SCOTT W.; ROGEL, LAWRENCE S.; BUNGALE, PRASHANTH P.; FRY, GERALD A.
To: VMWARE, INC.
Reel/Frame 022687/0072 →
Continuity (2)
Provisional Application 61057727 · May 30, 2008
Related Publication 20090300263A1 · Dec 3, 2009