Browse Prior Art Database

Automatic Segment Allocation when Subsetted Memory is Exhausted

IP.com Disclosure Number: IPCOM000108221D
Original Publication Date: 1992-May-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 2 page(s) / 65K

Publishing Venue

IBM

Related People

Cox, DR: AUTHOR [+3]

Abstract

This article describes a method for automatically obtaining additional segments when subsetted memory within a memory pool is exhausted. There is no mechanism provided by OS/2* to obtain a new segment automatically when a call to the OS/2 API DosSubAlloc() returns an out of memory condition. An application program is forced to check every call to DosSubAlloc() for an out of memory condition specifically, and to allocate a new segment before proceeding. The application program also has to keep track of each of the segments which have been allocated so that they can be freed when the memory is no longer needed.

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

Automatic Segment Allocation when Subsetted Memory is Exhausted

       This article describes a method for automatically
obtaining additional segments when subsetted memory within a memory
pool is exhausted.  There is no mechanism provided by OS/2* to obtain
a new segment automatically when a call to the OS/2 API DosSubAlloc()
returns an out of memory condition. An application program is forced
to check every call to DosSubAlloc() for an out of memory condition
specifically, and to allocate a new segment before proceeding.  The
application program also has to keep track of each of the segments
which have been allocated so that they can be freed when the memory
is no longer needed.

      In order to overcome these problems in our application systems,
OfficeVision*/2 (OV/2) Office built a Memory Management subsystem,
providing a layer of of independence between applications programs
and the OS/2 operating system. This subsystem is described in (*).

      Using this subsystem as a base for solving our memory
exhaustion problem, we enhanced the system to maintain the size of
each segment held in a memory pool, and to maintain the amount of
memory in each segment which was available for subsetting.
Additionally, the subsystem was enhanced to automatically generate
new segments when needed, and add them to the pool.

      Using the enhanced subsystem, on a request to obtain a subset
of memory, the subsystem now issues a DosSubAlloc() request against
the firs...