Installation guide
For instance, a multithreaded application or multiple processes that have
access to adjacent byte data through shared memory or shared
memory-mapped files will have to use thread mutual exclusion locking
functions or semaphore locks, respectively, to avoid conflicts with accesses
to adjacent byte or word data items.
Also, the order in which write operations occur can be different from what
the programmer intended. If it is important to guarantee the order in
which data is written to memory, use memory barrier instructions.
6.1.3 Data Alignment
On both MIPS and Alpha systems the data alignment is implied by the
data type. For instance, an int (32 bits) is aligned on a 4-byte boundary.
On MIPS systems, a long (32 bits) is also aligned on a 4-byte boundary.
But on Alpha systems, a long (64 bits) is aligned on 8-byte boundaries. If
you are using assembly language, you will need to understand and code
according to these alignment restrictions. If you are using a high-level
language, such as C, the compiler will take care of this alignment for you.
However, you need to understand these alignment differences when using
long and pointer types in structure definitions that are shared between
32-bit and 64-bit systems.
6.1.4 File Systems
On the 32-bit MIPS and VAX systems, the maximum size of files and file
systems was 2 gigabytes (GB). This limit was imposed by the programming
interface and file system, which used a 32-bit integer to represent the file
offset in bytes (off_t) when navigating within a file or file system.
On a 64-bit Alpha system, you can now build much larger files and file
systems. The off_t file offset is defined to be a long on Alpha systems,
which is 64 bits in length. Given this extended capability, it is possible to
build files and file systems that cannot be fully accessed by 32-bit systems.
You need to keep this in mind when working in a distributed environment
where file systems are shared between 32- and 64-bit systems.
6.2 Graphical Programming Environment
The DIGITAL UNIX DECwindows Motif windowing environment is based
on the industry-standard OSF/Motif Version 1.2.3 graphical user interface,
featuring three-dimensional visuals and consistent operation and style. The
ULTRIX and UWS OSF/Motif graphical interface is based on Version 1.2.2
of OSF/MOtif. Because OSF/Motif Version 1.2.3 does not include new
features, there should be no migration issues between the ULTRIX and
Overview of the DIGITAL UNIX Programming Environment 6–3