COOPERATIVE MECHANISM FOR EFFICIENT APPLICATION MEMORY ALLOCATION
First Claim
1. A method for allocating memory freed by applications in a computer system having an operating system (O/S), said method comprising:
- a) designating a status of said one or more freed memory units previously associated with an application as available for reuse;
b) organizing one or more freed memory units having said available for reuse status into one or more free memory pools, wherein freed memory units in a pool are directly allocated to an application requiring backing physical memory store without the O/S deleting data in the freed memory units.
1 Assignment
0 Petitions
Accused Products
Abstract
System, method and computer program product for allocating physical memory to processes. The method includes enabling a kernel to free memory in a physical memory space corresponding to arbitrarily sized memory allocations released by processes or applications in a virtual memory space. After freeing the memory, the system determines whether freed physical memory in the physical memory space spans one or more fixed size memory units (e.g., page frames). The method further includes designating a status of the one or more page frames as available for reuse; the freed page frames marked as available for reuse being available for backing a new process without requiring the kernel to delete data included in the freed memory released by the process. The kernel may organize pages marked as available for reuse in one or more local “pools” that is organized according to a variety of schemes which provide system efficiencies in that the kernel can eliminate the need for deleting of old data in those page frames without compromising data security.
105 Citations
26 Claims
-
1. A method for allocating memory freed by applications in a computer system having an operating system (O/S), said method comprising:
-
a) designating a status of said one or more freed memory units previously associated with an application as available for reuse; b) organizing one or more freed memory units having said available for reuse status into one or more free memory pools, wherein freed memory units in a pool are directly allocated to an application requiring backing physical memory store without the O/S deleting data in the freed memory units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for managing memory freed by processes executing in a virtual memory space in a computer system implementing means for mapping virtual memory addresses into physical memory locations accessible by an operating system (O/S), said method comprising:
-
receiving, by said O/S, an indication of freed memory in said virtual memory space that spans one or more fixed size memory units in physical memory; and
,adding said fixed size memory units to a free memory pool, said fixed size memory units in a free memory pool being directly allocatable to a process requiring backing physical memory store without the O/S deleting data in the freed fixed size memory units. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification