Abstract: Methods and apparatus for sharing memory between multiple processes of a virtual machine are disclosed. A hypervisor associates a plurality of guest user memory regions with a first domain and assigns each associated user process an address space identifier to protect the different user memory regions from the different user processes. In addition, the hypervisor associates a global kernel memory region with a second domain. The global kernel region is reserved for the operating system of the virtual machine and is not accessible to the user processes, because the user processes do not have access rights to memory regions associated with the second domain. The hypervisor also associates a global shared memory region with a third domain. The hypervisor allows user processes associated with the third domain to access the global shared region.
Type:
Application
Filed:
December 7, 2012
Publication date:
June 12, 2014
Applicant:
Open Kernel Labs, Inc.
Inventors:
Carl Frans van Schaik, Philip Geoffrey Derrin
Abstract: The present disclosure provides methods and apparatus for fast context switching in a. virtualized system. In the disclosed system, a globally unique application-space identifier is associated with each guest application. No two applications share the same application-space identifier, even if the two applications reside in different virtual machines. Domain identifiers are used to ensure that a guest's mappings are only active when that guest is executing. A unique domain identifier is associated with each virtual machine, and all translation lookaside buffer entries thereby mapping the guests kernel pages with that domain value. All other mappings are tagged with a predefined domain such as zero. In addition, a virtual memory management unit may be configured to support two virtual page table pointers and a configurable boundary between a virtual user page table and a virtual kernel page table.
Abstract: The present disclosure provides methods and apparatus for fast context switching in a virtualized system. In the disclosed system, a globally unique application-space identifier is associated with each guest application. No two applications share the same application-space identifier, even if the two applications reside in different virtual machines. Domain identifiers are used to ensure that a guest's mappings are only active when that guest is executing. A unique domain identifier is associated with each virtual machine, and all translation lookaside buffer entries thereby mapping the guest's kernel pages with that domain value. All other mappings are tagged with a predefined domain such as zero. In addition, a virtual memory management unit may be configured to support two virtual page table pointers and a configurable boundary between a virtual user page table and a virtual kernel page table.
Type:
Grant
Filed:
June 9, 2009
Date of Patent:
November 13, 2012
Assignee:
Open Kernel Labs
Inventors:
Matthew John Warton, Carl Frans VanSchaik