GDSX Manual
Design and Development
Extended General Device Support (GDSX) Manual–134303
2-25
Extended Memory Pools
Extended Memory Pools
USCODE can use memory pool space in the extended segment (by default, ID 1024) in
whatever ways you determine, except that the shared extended pool is intended to hold
information that is to be visible to all tasks, and the private extended pool should be used
by tasks to hold data that is not to be visible to other tasks. The selection of the pool
names, extended buffer pool and extended message pool, was arbitrary.
No mechanism for queuing of allocation requests or timeout is provided. For private
storage, such a facility has no purpose, because each task has its own individual pool.
Shared Extended Pool
The shared extended pool is intended to hold information that is to be visible to all tasks.
Memory allocated from this pool is byte addressable. The GETEXTPOOL[X] and
PUTEXTPOOL procedures are used to allocate and deallocate space from this pool. It
is your responsibility to manage this area.
Before issuing a call to GETEXTPOOL[X] for space in this pool, you specify the
maximum pool space to be used by setting a configuration parameter (see "GDSX
Configuration Parameters" on page 2-42). The maximum size of the shared extended
pool can be established by setting the POOLSIZE configuration parameter. POOLSIZE
specifies the maximum pool size (in words) that all user tasks can share. TSCODE
calculates an extended memory requirement of POOLSIZE * 2 bytes for the shared
extended pool. The default for POOLSIZE is 16,398 words. TSCODE will allocate this
pool unless the total for all the areas to be allocated in this extended segment exceeds
16,777,216 bytes, in which case configuration error message 10012 is sent to the home
terminal:
10012 Sum of final EXT. MEM size > 16777216d
Private Extended Pool
The private extended pool should be used by tasks to hold data that is not to be visible to
other tasks. Memory allocated from this pool is byte addressable. The
GETEXTPOOL[X] and PUTEXTPOOL procedures are used to allocate and deallocate
space from this pool.
Before issuing a call to GETEXTPOOL[X] for space in this pool, the maximum size of
the private extended pool is established by setting the TASKPOOLSIZE configuration
parameter (see "GDSX Configuration Parameters" on page 2-42). TASKPOOLSIZE
specifies the maximum pool size (in words) that each user task is allowed to acquire
privately. TSCODE calculates an extended memory requirement of total size
(TASKPOOLSIZE * 2) * MAXTASKS bytes for all the private extended pools. The
default for TASKPOOLSIZE is 128 words. TSCODE will allocate this pool unless the
total for all the areas to be allocated in this extended segment exceeds 16,777,216 bytes,
in which case configuration error message 10012 is sent to the home terminal:
10012 Sum of final EXT. MEM size > 16777216d