Browse Prior Art Database

Method for Allocating a Block of Segments and Deallocating them One at a Time

IP.com Disclosure Number: IPCOM000131772D
Original Publication Date: 2005-Nov-17
Included in the Prior Art Database: 2005-Nov-17
Document File: 1 page(s) / 21K

Publishing Venue

IBM

Abstract

This disclosure describes a method that allows a client to request a block of segments from a Segment Memory Manager but deallocate the segments one at a time, with the Segment Memory Manager maintaining segment order.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 79% of the total text.

Page 1 of 1

Method for Allocating a Block of Segments and Deallocating them One at a Time

Disclosed is a method where a Segment Memory Manager (SMM) allocates a block of segments to a client and allows the client to deallocate the segments one at a time while still preserving the order of the segments. Included in the control block associated with each segment are the following fields:

boolean primarySegment;
boolean segmentInUse;
int segmentValue;

When a client makes a request for n segments, the SMM performs the following after it has determined which block of n segments to allocate from its free pool of available segments:

- Set the primarySegment flag for the first allocated segment, marking it as the primary segment. - Set the segmentInUse flag for the first allocated segment, marking the segment as in-use. - Set the segmentValue field of the first allocated segment to the number of segments n allocated. - For each of the remaining allocated segments i from 1 to n do:

- Reset the primarySegment flag for segment i . - Set the segmentInUse flag for segment i , marking the segment as in-use. - Set the segmentValue field for segment i to i . This is the segment's offset from the primary segment.

When the client calls the SMM to deallocate segment x , the SMM performs the following:

- If the segmentInUse flag for segment x is set then: - Reset the segmentInUse flag for segment x . - If the primarySegment flag is not set for segment x then:

   - Get the segment offset i from the s...