Browse Prior Art Database

Subsetting Memory from a Pool of Available Segments

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

Publishing Venue

IBM

Related People

Cox, DR: AUTHOR [+3]

Abstract

This article describes a method for subsetting memory from a pool of available segments on a DosSubAlloc() request. Application programs may obtain segments from OS/2 for the purpose of subsetting the memory. However, as the subsets are obtained and freed, a segment may contain empty space which is not being used. Foran application to best use memory, it is forced to keep track of all segments obtained. Then, on a subset request, it must check each segment for available memory before allocating an additional segment.

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

Subsetting Memory from a Pool of Available Segments

       This article describes a method for subsetting memory
from a pool of available segments on a DosSubAlloc() request.
Application programs may obtain segments from OS/2 for the purpose of
subsetting the memory.  However, as the subsets are obtained and
freed, a segment may contain empty space which is not being used.
Foran application to best use memory, it is forced to keep track of
all segments obtained. Then, on a subset request, it must check each
segment for available memory before allocating an additional segment.

      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
subsetting 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 is available for subsetting.  Using the
enhanced subsystem, on a request to obtain a subset of memory, the
subsystem now issues a DosSubAlloc() request against the first
segment within the memory pool which can satisfy the request. In the
event of a failure, such as if the available memory in the segment is
not contiguous and can therefore not satisfy the request, the Memory
Management subsystem will c...