Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
First Claim
Patent Images
1. A method comprising:
- locating a second portion of a virtual machine monitor (VMM) in a second address space associated with the VMM;
mapping a first portion of the VMM into a first address space and the second address space, the first address space being associated with a guest operating system;
detecting that the guest operating system attempts to access a region occupied by the first portion of the VMM within the first address space;
if determining that no unused region exists within the first address space, selecting a random region within the first address space, copying content of a memory located at the random region to the second address space, re-mapping the first portion of the VMM into the random region, and accessing the copied content of the memory in the second address space if detecting an attempt of the guest operating system to access the content of the memory previously located at the random region; and
periodically relocating the first portion of the VMM within the first address space until finding a region that is infrequently used.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method for resolving address space conflicts includes detecting that a guest operating system attempts to access a region occupied by a first portion of a virtual machine monitor and relocating the first portion of the virtual machine monitor within the first address space to allow the guest operating system to access the region previously occupied by the first portion of the virtual machine monitor.
260 Citations
21 Claims
-
1. A method comprising:
-
locating a second portion of a virtual machine monitor (VMM) in a second address space associated with the VMM;
mapping a first portion of the VMM into a first address space and the second address space, the first address space being associated with a guest operating system;
detecting that the guest operating system attempts to access a region occupied by the first portion of the VMM within the first address space;
if determining that no unused region exists within the first address space, selecting a random region within the first address space, copying content of a memory located at the random region to the second address space, re-mapping the first portion of the VMM into the random region, and accessing the copied content of the memory in the second address space if detecting an attempt of the guest operating system to access the content of the memory previously located at the random region; and
periodically relocating the first portion of the VMM within the first address space until finding a region that is infrequently used. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus comprising:
-
a first address space associated with a guest operating system;
a second address space associated with a virtual machine monitor (VMM); and
a virtual machine kernel to locate a second portion of the VMM in the second address space, to map a first portion of the VMM into the first address space and the second address space, to detect that the guest operating system attempts to access a region occupied by the first portion of the VMM within the first address space, to determine char no unused region exists within the first address space, to select a random region within the first address space, to copy content of a memory located at the random region to the second address space, to re-map the first portion of the VMM into the random region, to access the copied content of the memory in the second address space it detecting an attempt of the guest operating system to access the content of the memory previously located at the random region, and to periodically relocate the first portion of the VMM within the first address space until finding a region that is infrequently used. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a memory to include a first address space associated with a guest operating system and a second address space associated with a virtual machine monitor (VMM); and
a processor, coupled to the memory, to locate a second portion of the VMM in the second address space, to map a first portion of the VMM into the first address space and the second address space, to detect that the guest operating system attempts to access a region occupied by the first portion of the VMM within the first address space, to determine that no unused region exists within the first address space, to select a random region within the first address space, to copy content of a memory located at the random region to the second address space, to re-map the first portion of the VMM into the random region, to access the seconded content of the memory in the second address space if detecting an attempt of the guest operating system to access the content of the memory previously located at the random region, and to periodically relocate the first portion of the VMM within the first address space until finding a region that is infrequently used. - View Dependent Claims (18, 19)
-
-
20. A computer readable medium that provides instructions, which when executed on a processor, cause said processor to perform operations comprising:
-
locating a second portion of the VMM in a second address space associated with the VMM;
mapping a first portion of the VMM into a first address space and the second address space, the first address space being associated with a guest operating system;
detecting that the guest operating system attempts to access a region occupied by the first portion of the VMM within a the first address space;
if determining that no unused region exists within the first address space, selecting a random region within the first address space, copying content of a memory located at the random region to the second address space, re-mapping the first portion of the in the random region, and accessing the copied content of the memory in the second address space if detecting an attempt of the guest operating system to access the content of the memory previously located at the random region; and
periodically relocating the first portion of the VMM within the first address space until finding a region that is infrequently used. - View Dependent Claims (21)
-
Specification