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
In the 64-bit environment, a process can have up to 64–bits of virtual address space, that is, 18 exabytes. This is approximately 4 billion times the current maximum of a 32-bit process.
Because of hardware restrictions, some platforms might not support the full 64–bits of address space.
If an application requires only support for large files, it can remain 32-bit and use the Large Files interface. However, if portability is not a primary concern, you might want to convert the application to a 64–bit program to take full advantage of 64-bit capabilities with a coherent set of interfaces.
Though 64-bit arithmetic has long been available in previous 32-bit Solaris releases, the 64-bit implementation now uses the full 64-bit machine registers for integer operations and parameter passing. This 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 concerning future events, such
as mortgages, might require the expanded time capability.