|
By Milan Thanawala, August 2002
|
|
|
With the phased release of the Solaris operating
environment with 64 bits, Sun is preparing to move to a full 64-bit
computing environment. At the same time, Sun understands the large
investment that developers and users have made in 32-bit computing. For
this reason, Sun offers a safe and easy evolutionary path for Solaris users
to this new, more powerful environment. The 64-bit environment preserves
the investments made in the 32-bit world by providing binary compatibility
with 32-bit applications.
If your application falls into one of the following areas, you can achieve significant benefits from moving your
application to the Solaris operating environment with 64-bits:
- CAD/CAM
- Computer simulations
- Data warehousing
- Visual monitoring: petrochemicals, air traffic control, meteorology
- Development tools
- Web servers
- Search engines
- Multimedia
The Advantages of 64-bit Computing
The ever-increasing complexity of applications makes 64-bit
computing more compelling than ever. A 64-bit computing environment
provides an address space more than four billion times the size of the
current 32-bit environment. This affords many advantages to the developer
creating high-end applications. Among these advantages are:
- Faster operations.
With wider CPU operations, one instruction can handle
operations that would otherwise require multiple instructions.
- More addressable memory.
A 64-bit machine can address more memory directly,
enabling the CPU to bring more data into memory for faster operations. The
Solaris operating environment with 64 bits supports 18 Exabytes of virtual
address space per application.
- Very Large file sizes.
In a 64-bit environment, applications can work on files well in excess of the
two-gigabyte maximum of the 32-bit environment. The Solaris operating
environment with 64 bits supports file sizes up to one terabyte.
- Improved disk management.
The ability to handle large files means that
larger amounts of data can be accessed as a single file, rather than
needing to break the file down into two-gigabyte pieces.
- 32-bit compatibility.
Users can run 32-bit applications without modification.
Thus, customers can gradually evolve their applications to the Solaris
operating environment with 64 bits at the pace required by their
information processing needs. Customers who don't need 64-bit capabilities
can continue to use 32-bit applications on 64-bit hardware.
- API support.
The Solaris operating environment with 64 bits supports the existing set of
32-bit APIs, including the Large File APIs that allow 32-bit applications
to access 64-bit files.
- A long future.
The 64-bit environment is here to
stay. Applications developed for this environment have a long and
prosperous future ahead of them, since there is no transition to a 128-bit
environment on the horizon.
Technical Details -- LP64 Data Model
The main difference between the 32-bit and 64-bit Solaris environments
is the structure of the C data type model. Along with Sun, a consortium
of companies that includes Digital, Hewlett-Packard, IBM, Novell, SCO,
and SGI have agreed to use the data model called LP64 for 64-bit
application C data types. In LP64, longs and pointers become 64-bit
quantities, while all other C data types remain the same as in the
ILP32 model. The following table summarizes the values for the two data
models.
| Table 1: Data Model Summary |
| C Data Type |
ILP32 |
ILP64 |
| char |
8 |
8 |
| short |
16 |
16 |
| int |
32 |
32 |
| long |
32 |
64 |
| long long |
64 |
64 |
| pointer |
32 |
64 |
|
Many of the issues involved with converting 32-bit
applications to the 64-bit environment will revolve around applications
recognizing the change in quantity of longs and pointers.
Back to Top
Converting Applications to a 64-bit Environment
Many 32-bit applications do not
require conversion and can run in the 64-bit environment without any code
changes or recompilation. Put simply, if a 32-bit application does not
require 64-bit capabilities, it can remain at 32 bits.
When to Make the Move to 64 Bits
Many types of applications can take advantage of the extra
processing power offered by the 64-bit environment -- particularly very
large databases and sophisticated graphics applications. The "data
warehouse" concept consolidates databases into a single data warehouse
entity, which could easily grow beyond two gigabytes, for running complex
analyses. High-resolution graphics programs also realize improved
performance with the larger memory addressing capability of the 64-bit
environment.
In general, you should move your application to the 64-bit
environment if it:
- Requires more than four gigabytes of virtual address space.
- Uses files larger than two gigabytes. If the use of large files
is the only requirement, the application can remain 32-bit and use the
Large Files interface. However, conversion is recommended to make best use
of 64-bit capabilities.
- Reads and interprets kernel memory using
libkvm,
/dev/mem, or /dev/kmem. Existing ILP32 binaries that use libkvm, /dev/mem,
or /dev/kmem will not work, since the Solaris kernel uses LP64 data
structures. These programs will need to be recompiled as 64-bit
programs.
- Uses
/proc to debug 64-bit processes. 32-bit programs that use
/proc will not understand 64-bit quantities and will need to be recompiled
as 64-bit programs.
- Needs full 64-bit registers to do efficient 64-bit
arithmetic.
- Uses a library that has only a 64-bit version.
The Solaris
operating environment with 64 bits will provide 32-bit and 64-bit versions
of standard libraries, and 64-bit versions of all Sun device drivers.
Current third-party device drivers, compiled as ILP32 binaries, will not
work with the Solaris operating environment with 64 bits, which means that
32-bit and 64-bit applications that rely on these device drivers will not
work. The road to the Solaris operating environment with 64 bits includes a
partner program to develop third-party device drivers and libraries for the
64-bit environment. Other interoperability issues may also require
converting an application to run properly in the 64-bit environment.
The Solaris Operating Environment Roadmap
The road to a full 64-bit Solaris
operating environment involves a phased release of functionality to ensure
a smooth transition for all Sun customers. In this way, customers can
preserve their investment in 32-bit computing and move to the 64-bit
environment at their own pace. At the same time, 32-bit Solaris operating
environment will continue to be released on 64-bit hardware for customers
who do not need 64-bit capabilities.
The Solaris roadmap involves the following releases:
- The Solaris 2.5.1 operating environment: Synchronous
and asynchronous I/O to raw disks for data sizes larger than two gigabytes;
also includes 64-bit math enhancements.
- The Solaris 2.6 operating
environment: Creation of 64-bit files; 64-bit printing; 64-bit system
commands; and 64-bit backup.
- The Solaris operating environment with 64
bits: the Solaris operating environment with 64-bit virtual
addressing.
Sun is the only company offering a 64-bit environment that
provides asmooth migration path for customers, preserving their investments
and paving the way for the next generation of computing.
August 2000
Back to Top
|
|