32-bit application
32-bit application
(architecture, operating system)The term 32-bit application came about because MS-DOS andMicrosoft Windows were originally written for the Intel 8088 and 80286 microprocessors. These are 16 bitmicroprocessors with a segmented address space. Programswith more than 64 kilobytes of code and/or data therefore hadto switch between segments quite frequently. As thisoperation is quite time consuming in comparison to othermachine operations, the application's performance may suffer.Furthermore, programming with segments is more involved thanprogramming in a flat address space, giving rise to somecomplications in programming languages like "memory models"in C and C++.
The shift from 16-bit software to 32-bit software on IBM PCclones became possible with the introduction of the Intel 80386 microprocessor. This microprocessor and its successorssupport a segmented address space with 16-bit and 32 bitsegments (more precisely: segments with 16- or 32-bit addressoffset) or a linear 32-bit address space. For compatibilityreasons, however, much of the software is nevertheless writtenin 16-bit models.
Operating systems like Microsoft Windows or OS/2 providethe possibility to run 16-bit (segmented) programs as well as32-bit programs. The former possibility exists for backward compatibility and the latter is usually meant to be used fornew software development.
See also Win32s.