Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Pre-Allocated Memory Manager for Unbounded Ada Data Structures

IP.com Disclosure Number: IPCOM000111925D
Original Publication Date: 1994-Apr-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 2 page(s) / 79K

Publishing Venue

IBM

Related People

Forthofer, MJ: AUTHOR

Abstract

This disclosure describes a pre-allocated memory manager developed to provide more predictable response plus increased memory integrity for real-time applications. This enhanced memory manager can be used in place of the existing memory manager underlying unbounded versions of reusable Ada components covering a wide variety of data structures.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Pre-Allocated Memory Manager for Unbounded Ada Data Structures

      This disclosure describes a pre-allocated memory manager
developed to provide more predictable response plus increased memory
integrity for real-time applications.  This enhanced memory manager
can be used in place of the existing memory manager underlying
unbounded versions of reusable Ada components covering a wide variety
of data structures.

      The disclosed pre-allocated memory manager is based on a memory
manager marketed by Grady Booch and described in his book entitled
"Software Components with Ada" (Benjamin/Cummings Publishing Company,
1987).

      Dynamic memory managers such as those provided by Booch result
in fragmentation of memory over time.  Moreover, they often do not
allow the user to control if/when/how memory is deallocated.  Last
but certainly not least, they typically do not provide the
predictable response required by real-time applications.

      The disclosed pre-allocated memory manager solves the major
problems associated with dynamic memory managers a la Booch without
sacrificing the ability of the application to define unbounded data
structures (i.e., those whose size is limited solely by available
memory rather than a fixed bound).

      Similar to Booch's dynamic memory manager, the disclosed memory
manager is a single generic Ada package that allows the user to
define how memory requests are to be handled.  However, unlike
Booch's package, the disclosed memory manager allows the user to
pre-allocate a specified number of memory items during package
initialization.  The pre-allocated items are then immediately freed
to an internal stack from which subsequent memory allocation requests
may be satisfied.

     for (specified number of memory items to preallocate) loop
          allocate new memory item
          free new memory item to internal stack
        end loop

      The pre-allocation of memory at initialization eliminates (or
greatly reduces) fragmentation by concentrating the pre-allocated
items in contiguous memory.  The primed free stack ensures that
allocation response using the disclosed al...