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
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
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.
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.
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.
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.