Go to main content

Oracle® Solaris 64-bit Developer's Guide

Exit Print View

Updated: March 2019

2.1 Major Features of 64-bit Development Environment

The following figure shows support for 32-bit and 64-bit applications in the Oracle Solaris 11 operating environment. The Oracle Solaris 11 OS supports 32-bit applications and libraries and 64-bit libraries and applications simultaneously on top of a 64-bit kernel that uses 64-bit device drivers.

Figure 2  The Oracle Solaris 11 Operating Environment Architecture

image:Diagram showing 32-bit and 64-bit support in the Solaris operating environment

The major features of the 64-bit environment include support for:

  • Large virtual address space

  • Large files

  • 64-bit arithmetic

  • Removal of certain system limitations

  • Dates beyond January 2038 with a 64-bit time_t

2.1.1 Large Virtual Address Space

In the 64-bit environment, a process can have up to 64-bit of virtual address space, that is, 18 Exabytes. This virtual address space is approximately 4 billion times the current maximum of a 32-bit process.

Note -  On some systems, the full 64 bits of address space might not be available if used for other purposes via VA masking or ADI.

2.1.2 Large Files

If an application requires only support for large files, the application can remain 32-bit and use the Large Files interface. However, if portability is not a primary concern, consider converting the application to 64-bit. A 64-bit program takes full advantage of the 64-bit capabilities with a coherent set of interfaces.

2.1.3 64-bit Arithmetic

64-bit arithmetic has long been available in earlier 32-bit Solaris releases. However, the 64-bit implementation uses the full 64-bit machine registers for integer operations and parameter passing. The 64-bit implementation allows an application to take full advantage of the capabilities of the 64-bit CPU hardware.

2.1.4 System Limitations Removed

The 64-bit system interfaces are inherently more capable than some of their 32-bit equivalents. Application programmers concerned about year 2038 problems, when 32-bit time_t runs out of time, can use the 64-bit time_t. While 2038 seems a long way off, applications that do computations for future events, such as mortgages, might require the expanded time capability.