To provide for memory acquisition during system operation without incurring the high overhead associated with the operating system memory services, the TDP acquires units of main memory, or cells, from its own more efficient memory management.
During startup, the memory manager pre-allocates a number of cells in sizes that are convenient for use by the TDP.
The sizes of the cells are internal constants. The initial number of cells is an internal default.
If a TDP subtask requests a cell from the memory manager, but other TDP subtasks are using all available cells, the memory manager takes one of the following actions:
- Obtains a new cell from the operating system
- Places the requesting subtask into a wait for memory state.
If the requester is placed into a wait state, the wait ends when another TDP subtask releases a cell. The decision to obtain a new cell or wait for an existing cell is based on TDP considerations.
The TDP typically uses a virtual region of about 4 to 5 MB. To avoid overhead calls to the operating system, the TDP divides its work areas in cells. A warning message (TDP0021) displays when 80% of the cells of a certain size are in use.
Also see Performance and Memory Management.