Open System Services Programmer's Guide

11 64-Bit Support in OSS and Guardian
The HP NonStop H06.24 RVU (and later H-series RVUs) and the J06.13 RVU (and later J-series
RVUs) offer several features to enable the full power of 64-bit computing. These RVUs include tools
to help you transition from 32-bit applications to 64-bit OSS applications.
NonStop TNS/E systems running H06.24 and later H-series RVUs or J06.13 and later J-series
RVUs provide the following 64-bit support:
Creation of 64-bit OSS processes
NOTE: Only 64-bit OSS processes are supported. 64-bit Guardian processes are not
supported.
Access to 64-bit memory from these processes:
64-bit OSS processes
32-bit OSS processes
Native Guardian processes
Up to 510 GB of virtual memory is available for these types of OSS and Guardian processes on
NonStop TNS/E systems running H06.24 and later H-series RVUs or J06.13 and later J-series
RVUs. (The total 510 GB of virtual memory includes 508 GB of 64-bit-addressable memory and
2 GB of 32-bit-addressable memory.)
NOTE: The limit for 64-bit addressable memory is well below 508 GB and is primarily limited
by the swap space configured, the physical memory on the system, the locality of access within
the address space, and the number of processes contending for these resources.
Most programs are expected to remain as 32-bit programs. Only programs that can benefit from
more virtual memory—and require a robust set of OSS functions (such as malloc()and shm*())
to access that memory— should be considered as candidates for migration to 64-bit programs.
This chapter explains the wide-ranging impacts for 32-bit and 64-bit OSS applications in both the
OSS and Guardian environments.
Features of 64-Bit Support
Features of 64-bit support on NonStop TNS/E systems are:
Existing 32-bit applications can coexist with 64-bit applications and run on the same processor
without modification.
64-bit OSS processes have their main heap in 64-bit addressable space. The total size of the
heap and any 64-bit flat segments allocated by the process can be a maximum of 508 GB.
Most public DLLs have two versions, one for use by 32-bit processes and one for use by 64-bit
processes.
The OSS APIs, and other necessary Guardian APIs, have been enhanced to handle 64-bit
arguments. The maximum read/write size for process files has been increased to 2 MB. The
maximum read/write size for other file types has not changed from previous RVUs.
64-bit OSS applications have access to OSS sockets.
Native C/C++ compilers are provided for creating 64-bit OSS applications.
HP Measure can be used to analyze the performance of 64-bit programs.
Tools are provided to debug and diagnose problems on a 64-bit platform.
Larger snapshot files can be used for post-mortem analysis of 64-bit process failures.
Features of 64-Bit Support 285