from
The Free On-line Dictionary of Computing (8 July 2008)
32-bit application
<architecture, operating system> {IBM PC} software that runs
in a 32-bit {flat address space}.
The term {32-bit application} came about because {MS-DOS} and
{Microsoft Windows} were originally written for the {Intel
8088} and {80286} {microprocessors}. These are {16 bit}
microprocessors with a {segmented address space}. Programs
with more than 64 kilobytes of code and/or data therefore had
to switch between {segments} quite frequently. As this
operation is quite time consuming in comparison to other
machine operations, the application's performance may suffer.
Furthermore, programming with segments is more involved than
programming in a flat address space, giving rise to some
complications in programming languages like "{memory models}"
in {C} and {C++}.
The shift from 16-bit software to 32-bit software on {IBM PC}
{clones} became possible with the introduction of the {Intel
80386} microprocessor. This microprocessor and its successors
support a segmented address space with 16-bit and 32 bit
segments (more precisely: segments with 16- or 32-bit address
offset) or a linear 32-bit address space. For compatibility
reasons, however, much of the software is nevertheless written
in 16-bit models.
{Operating systems} like {Microsoft Windows} or {OS/2} provide
the possibility to run 16-bit (segmented) programs as well as
32-bit programs. The former possibility exists for {backward
compatibility} and the latter is usually meant to be used for
new software development.
See also {Win32s}.
(1995-12-11)