FAIR MEMORY RESOURCE CONTROL FOR MAPPED MEMORY
First Claim
1. A method for managing memory allocation among plural virtual application environments supported by a common operating system, comprising:
- establishing a mapping between a virtual application environment (or processes therein) and a mapping proxy that is reachable via a reverse mapping pathway adapted to facilitate identification of virtual addresses associated with a memory page frame;
identifying said virtual application environment (or processes therein) as an allocation recipient of said memory page frame by traversing said reversing mapping pathway to said mapping proxy; and
reclaiming said memory page frame for allocation to another virtual application environment by invalidating data therein or transferring said data to a storage resource based upon memory usage by said identified virtual application environment.
2 Assignments
0 Petitions
Accused Products
Abstract
A method system and computer program product for managing memory allocation among plural virtual application environments supported by a common operating system. The technique may include establishing a mapping between a virtual application environment (or processes therein) and a mapping proxy that is reachable via a reverse mapping pathway adapted to facilitate identification of virtual addresses associated with a memory page frame. The virtual application environment (or processes therein) may be identified as an allocation recipient of the memory page frame by traversing the reversing mapping pathway to the mapping proxy. The memory page frame may be reclaimed for allocation to another virtual application environment by invalidating data therein or transferring the data to a storage resource based upon memory usage by the identified virtual application environment.
14 Citations
20 Claims
-
1. A method for managing memory allocation among plural virtual application environments supported by a common operating system, comprising:
-
establishing a mapping between a virtual application environment (or processes therein) and a mapping proxy that is reachable via a reverse mapping pathway adapted to facilitate identification of virtual addresses associated with a memory page frame; identifying said virtual application environment (or processes therein) as an allocation recipient of said memory page frame by traversing said reversing mapping pathway to said mapping proxy; and reclaiming said memory page frame for allocation to another virtual application environment by invalidating data therein or transferring said data to a storage resource based upon memory usage by said identified virtual application environment. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for managing memory allocation among plural virtual application environments supported by a common operating system, comprising:
-
logic implementing hardware; a memory; a mapping proxy in said memory comprising a mapping to a virtual application environment (or to processes therein); said mapping proxy being reachable via a reverse mapping pathway adapted to facilitate identification of virtual addresses associated with said memory page frame; identification logic implemented by said logic implementing hardware and adapted to identify said virtual application environment (or processes therein) as an allocation recipient of said memory page frame by traversing said reversing mapping pathway to said mapping proxy; and reclamation logic implemented by said logic implementing hardware and adapted to reclaim said memory page frame for allocation to another virtual application environment by invalidating data therein or transferring said data to a storage resource based upon memory usage by said identified virtual application environment. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product, comprising:
-
one or more computer useable media; means associated with said computer useable media for programming a data processing platform to manage memory allocation among plural virtual application environments supported by a common operating system, as by; establishing a mapping between a virtual application environment (or processes therein) and a mapping proxy that is reachable via a reverse mapping pathway adapted to facilitate identification of virtual addresses associated with a memory page frame; identifying said virtual application environment (or processes therein) as an allocation recipient of said memory page frame by traversing said reversing mapping pathway from said page frame control structure to said mapping proxy; and reclaiming said memory page frame for allocation to another virtual application environment by invalidating data therein or transferring said data to a storage resource based upon memory usage by said identified virtual application environment. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computer program product, comprising:
-
one or more computer useable media; means associated with said computer useable media for programming a data processing platform to manage memory allocation among plural virtual application environments supported by a common operating system, as by; establishing a mapping between a virtual application environment (or processes therein) and a memory management entity that contains information for a process address space of a process in said virtual application environment; said memory management entity being reachable from a page frame control structure via a reverse mapping pathway adapted to facilitate identification of virtual addresses associated with a memory page frame represented by said page frame control structure; said reverse mapping pathway including virtual memory area entities and anonymous memory entities that are linked to said memory management entity; identifying said virtual application environment (or processes therein) as an allocation recipient of said memory page frame by traversing said reversing mapping pathway from said page frame control structure to said memory management entity; and reclaiming said memory page frame for allocation to another virtual application environment by invalidating data therein or transferring said data to a storage resource based upon memory usage by said identified virtual application environment. - View Dependent Claims (20)
-
Specification