H-Series Application Migration Guide (H06.03+)

TNS/E Native Architecture Features
H-Series Application Migration Guide429855-006
3-4
Data Segments
Data Segments
When a process is created, several data segments are allocated for its use. Table 3-2
compares the data segments for TNS/E and TNS/R processors:
RISC and Itanium stack growth is as follows:
RISC stacks grow downwards (from higher to lower addresses)
The Itanium RSE backing store grows upwards
Itanium memory stacks grow downwards
On both TNS/R and TNS/E processors, the main stacks (main RISC stack on TNS/R,
main memory stack on TNS/E) and the heap grow automatically as needed, to a
maximum size. On the TNS/R platform, the default maximum stack size is 1 MB, and
on the TNS/E platform, the default maximum stack size is 2 MB. You can increase the
maximum stack size via an ld, eld, or PROCESS_LAUNCH_ parameter up to a limit of
32MB.
Table 3-2. Data Segments
Process Type Data Segments
TNS/R native process A globals-heap segment, containing program global data and,
optionally, a heap
A main RISC stack segment, containing the stack for
nonprivileged native procedures
A privileged RISC stack segment, containing the stack for
privileged native procedures
Zero or more SRL data segments, used for optional global data
owned by each shared run-time library (SRL)
A process file segment (PFS), used by the operating system
Optional program-allocated extended data segments (selectable
or flat segments)
TNS/E native process A globals-heap segment, containing program global data and,
optionally, a heap
A main memory stack for nonprivileged TNS/E native procedures
A privileged memory stack for privileged procedures
A main register stack engine (RSE) backing store for nonprivileged
procedures
A privileged RSE backing store for privileged procedures
Zero or more DLL data segments, used for optional global data
owned by each DLL
A process file segment (PFS), used by the operating system
Optional program-allocated extended data segments (selectable
or flat segments)