the first larger block at the end of available free storage. Large
blocks, on the other hand, are obtained
the last larger block. This procedure tends to keep the volatile
storage for
available storage is avoided.
obtained fro.
The various cases of calls to
to
handled as follows:
suitable size is available, the block found is detached
the chain patched to the next subpool block of the sa.e size (if any),
and the given block returned to the caller.
Subpool
a call to
storage is searched for a block of equal or larger size. The first block
of larger or equal storage is used to satisfy the call (an equal-size
block taking priority), except that blocks within the dyna.ic paging
area are avoided if at all possible. If no equal or larger block is
found, all the subpool blocks currently not in use are returned to the
.ain free storage chain, and then the free storage chain is again
searched for a block large enough to satisfy the call. If there still is
no block large enough to satisfy the request, then
obtain anotber page frame of storage fro. the
the process is repeated to obtain the needed block.
If a call to
chained list of free storage is searched for a block of equal or larg.er
size. If-an equal-size block is found, it is detached fro. the chain and
given to the caller. If at least one larger block is found, the desired
block size is split off the high-numbered end of the last larger block
found, and given to the caller. If no equal or larger block is found,
If a subpool block is given back via a call to
attached to the appropriate subpool chain on a
basis, and return is .ade to the caller. If, however, the block
regular free storage chain instead.
CP Introduction 1-121