NonStop S-Series Server Description Manual (G06.24+)

Memory Addressing and Access
HP NonStop S-Series Server Description Manual520331-003
4-24
Chart of Nonprivileged Space Allocation
Chart of Nonprivileged Space Allocation
The chart shown in Table 4-1 applies to the G05.00 and G06.00 RVUs. RVUs prior to
G05.00 used different space allocations, and future releases can be expected to
change again.
For convenient reference, the nonprivileged space is shown divided into 64 regions,
each identified with the hexadecimal starting address of the region, abbreviated to the
first two digits.
The first region (00) contains the TNS user data, including the TNS stack and global
data in the very first unitary segment of the region. This unitary segment is used only
in the case of a TNS process. Most of this first region is available for the selectable
segment, if one is currently in use. The selectable segment begins at relative
segment 4 and can cross one, two, or three region boundaries, depending on its
allocated size.
The 35 regions numbered 08 through 4C make up an area that is jointly shared in a
special sense: allocations for separate purposes are made at both ends of this space,
with no specific address marking the separation. Allocations for native global data (for
a native process) begin at the start of the 08 region, proceeding in the increasing
address direction. Following those allocations is the native HEAP (for a native
process). Allocations for user-allocatable flat segments begin at the opposite end of
this shared area (4DFFFFFF), proceeding in the decreasing address direction.
The main stack, which is allocated for all TNS processes and all nonprivileged native
processes, begins at the end of the 4E region. Because the main stack grows in the
direction of lower addresses, the stack begins one byte before the start of the 50
region; that is, at 4FFFFFFF.
Instance data for a private shared run-time library (SRL), if present, is allocated in the
50 region. Likewise, instance data for public shared run-time libraries is allocated in
the 58 and 5A regions. (Intervening regions are reserved for future SRL expansion
capability.)
The two regions at 70 and 72 are available for user code and user library. For native
processes, the two regions are available for user code (UCr). For TNS processes, one
region is available for user code (UC) and one for user library (UL).
Text for a private SRL is allocated in the 74 region, the native user library for a process.
Note that there is no “ULr.” Text for public SRLs is allocated in the 76 and 78 regions.
For all processes, the system library (SLr) is addressable in region 7C, and for TNS
processes the system library (SL) is addressable in region 7A.
Region 7E contains special millicode, including the TNS code interpreter, all to-RISC
gateways, the Debug restart area, the shell map, and the RPWRAP segment.