Browse Prior Art Database

Automatic Segment Freeing when a Subsetted Segment is Empty

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

Publishing Venue

IBM

Related People

Cox, DR: AUTHOR [+3]

Abstract

This article describes a method for automatically freeing a subsetted segment when all of the subsets with the segment have been removed. There is no mechanism provided by the OS/2* Memory Management APIs to automatically free a segment which is empty, or to notify the application program that a segment is empty so that the application program can free it. An application program has no way to determine if a segment is no longer needed and can be freed. For an application to do this, it would have to keep track of the total amount of memory which is free in each segment, and recalculate the amount of free memory each time an allocation or a free is requested. It would then have to monitor this total memory size for each subsetted segment it used, in order to free the segments which are empty as soon as they are.

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

Automatic Segment Freeing when a Subsetted Segment is Empty

       This article describes a method for automatically freeing
a subsetted segment when all of the subsets with the segment have
been removed.  There is no mechanism provided by the OS/2* Memory
Management APIs to automatically free a segment which is empty, or to
notify the application program that a segment is empty so that the
application program can free it.  An application program has no way
to determine if a segment is no longer needed and can be freed.  For
an application to do this, it would have to keep track of the total
amount of memory which is free in each segment, and recalculate the
amount of free memory each time an allocation or a free is requested.
It would then have to monitor this total memory size for each
subsetted segment it used, in order to free the segments which are
empty as soon as they are.

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

      Using this subsystem as a base for solving the segment freeing
problem, we enhanced the system to keep for each segment in a pool
the total amount of memory available (based on the current allocation
size of the segment) and the total memory free (based on the
sub-allocation requests). ...