Pathway/iTS System Management Manual (G06.24+)
Tuning Your System Using Statistics
HP NonStop Pathway/iTS System Management Manual—426748-002
5-5
Memory Management and Allocation
A wait queue is associated with each pool. If enough pool space is available, the
request is granted and the requesting task proceeds. Otherwise, the task joins the wait
queue until enough pool space is available.
Data Area
The TCP allocates terminal data area in an extended segment of memory.
For each terminal task, the TCP allocates two slots of addresses in its data area:
•
SLOT0 is used to simulate one execution stack for the executing SCREEN COBOL
program units. This stack grows and shrinks during program execution.
•
SLOT1 is used to hold the last checkpoint image.
Slot sizes are determined primarily by the value specified with the SET TCP
MAXTERMDATA command. The sizes are approximate because the TCP rounds
up to a page boundary (2048 bytes).
Code Area
The TCP allocates its terminal code area in the same extended segment as its data
area.
A compiled SCREEN COBOL program unit is composed of executable code and a
sequence of screen descriptions. The executable code and screen descriptions are
defined as code segments as follows:
•
Executable code segment (segment 0)
This segment contains the executable code and is always defined for an active
task.
•
Current base screen segment (segment 1)
This segment contains the current base screen. This is the screen used in the
most recent DISPLAY BASE command. Segment 1 must be defined if segment 2
is defined: the user must first display the base screen that the overlay is mapped
onto.
•
Current overlay screen (segment 2)
This segment contains the current overlay screen This is the screen used in the
most recent operation affecting an overlay area of the current base screen.
When a terminal task is about to execute:
•
The executable code (segment 0) is present in the TCP’s extended segment.
•
The screen descriptions are fetched when they are referenced—not when the
program unit containing them is invoked.
When the task is not executing, its code segments can be overlaid by other code
segments.