24.05.2014 Views

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Segment Number Use in 64-Bit Mode Use in 32-Bit Mode<br />

4-0xC shmat/mmap shmat/mmap<br />

0xD Loader use Shared libraries<br />

0xE shmat/mmap shmat/mmap<br />

0xF Loader use Shared lib data<br />

0x10-0x6FFFFFFF<br />

Application text, data, Bss,<br />

heap<br />

N/A<br />

0x70000000-0x7FFFFFFF Default shmat/mmap N/A<br />

0x80000000-0x8FFFFFFF Private load N/A<br />

0x90000000-0x9FFFFFFF<br />

Shared library text and<br />

data<br />

N/A<br />

0xA0000000-0xEFFFFFFF Reserved for system use N/A<br />

0xF0000000-0xFFFFFFFF Application stack N/A<br />

The following items give more detail on the use of the various segments in 32-bit<br />

and 64-bit mode:<br />

• Process private data<br />

Segment number 2 continues to contain the process private segment. This<br />

segment is substantially different for 32-bit and 64-bit processes. The process<br />

private segment continues to contain errno, errnop, environ, the top_of_stack<br />

structure, and the exec() arguments. It also contains the user structure,<br />

primary user thread structure, and the primary kernel thread stack.<br />

It does not contain the user thread stack or any user data. The user thread<br />

structures (other than the primary) is moved to the kernel thread stack<br />

segments for both 32-bit and 64-bit processes. The errno, errnop, and environ<br />

locations are different in 32-bit and 64-bit mode. The top_of_stack structure is<br />

reformatted for the 64-bit values for 64-bit processes.<br />

The errno, errnop, environ, the top_of_stack structure, and the exec<br />

arguments (all the user accessible data) are kept in the lowest one megabyte<br />

of this segment and are user-modifiable. All data above this in the segment is<br />

read-protected from user access. The segment table, adspace, and segstate<br />

structures for the process are allocated from a region above the first megabyte<br />

in the segment. The segment table is pinned. The region above these adspace<br />

structures and below the primary kernel thread stack is used for the overflow<br />

heap for the per-process loader heap.<br />

• Executable text area<br />

The text area starts in segment number 16. All segments from the start of the<br />

executable, through, and including, the loader section of the executable, are<br />

mapped in. No segments beyond the segment containing the loader section of<br />

the executable are mapped in the address space. The text segments are<br />

mapped read-only if the underlying file system supports mapping (JFS, NFS,<br />

CD-ROM file system, AFS, and DFS support mapping). Otherwise, the text<br />

section and the loader section are copied to working storage segments.<br />

64-Bit Enablement 35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!