Heap management using dynamic memory allocation
First Claim
1. A method, the method comprising:
- receiving, via a computing device, a memory request associated with a memory block, wherein the computing device has a double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks; and
wherein each memory block included in the double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks includes a value field and a header field;
wherein the header fields includes one or more of a backward link, forward link, and memory block size indicator; and
wherein the memory block size indicator includes a first bit that reflects whether the value field includes a start address of another memory block that precedes the memory block in memory address and a second bit that reflects whether the memory block is in use by a process associated with the computing device;
determining a scope of the received memory request, wherein the scope of the received memory request is a request for memory allocation or memory deallocation; and
servicing, in response to the determining the scope of the received memory request, the received memory request.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the present invention provide a method, system, and program product for heap management using dynamic memory allocation. The method comprises receiving, via a computing device, a memory request associated with a memory block, wherein the computing device has a double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks; and wherein each memory block includes a value field and a header field, which includes one or more of a backward link, forward link, and memory block size indicator that includes a first bit and a second bit. The method further comprises determining a scope of the received memory request, which can be a request for memory allocation or memory deallocation. Further still, the method comprises servicing the received memory request.
-
Citations
18 Claims
-
1. A method, the method comprising:
-
receiving, via a computing device, a memory request associated with a memory block, wherein the computing device has a double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks; and
wherein each memory block included in the double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks includes a value field and a header field;
wherein the header fields includes one or more of a backward link, forward link, and memory block size indicator; and
wherein the memory block size indicator includes a first bit that reflects whether the value field includes a start address of another memory block that precedes the memory block in memory address and a second bit that reflects whether the memory block is in use by a process associated with the computing device;determining a scope of the received memory request, wherein the scope of the received memory request is a request for memory allocation or memory deallocation; and servicing, in response to the determining the scope of the received memory request, the received memory request. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product, the computer program product comprising:
-
one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising; program instructions to receive a memory request associated with a memory block, wherein a computing device configured to execute the computer program product has a double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks; and
wherein each memory block included in the double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks includes a value field and a header field;
wherein the header fields includes one or more of a backward link, forward link, and memory block size indicator; and
wherein the memory block size indicator includes a first bit that reflects whether the value field includes a start address of another memory block that precedes the memory block in memory address and a second bit that reflects whether the memory block is in use by a process associated with the computing device;program instructions to determine a scope of the received memory request, wherein the scope of the received memory request is a request for memory allocation or memory deallocation; and program instructions to service, in response to the program instructions to determine the scope of the received memory request, the received memory request. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer system, the computer system comprising:
-
one or more computer processors; one or more computer-readable storage media; program instructions stored on the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising; program instructions to receive a memory request associated with a memory block, wherein a computing device configured to execute the computer program product has a double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks; and
wherein each memory block included in the double linked list of fixed sized memory blocks and a double linked list of variable sized memory blocks includes a value field and a header field;
wherein the header fields includes one or more of a backward link, forward link, and memory block size indicator; and
wherein the memory block size indicator includes a first bit that reflects whether the value field includes a start address of another memory block that precedes the memory block in memory address and a second bit that reflects whether the memory block is in use by a process associated with the computing device;program instructions to determine a scope of the received memory request, wherein the scope of the received memory request is a request for memory allocation or memory deallocation; and program instructions to service, in response to the program instructions to determine the scope of the received memory request, the received memory request. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification