Flat Memory Model

The memory model used by OS/2 2.0 is known as a flat memory model, because memory is regarded as a single, large, linear address space. This concept applies for every process in OS/2 2.0. Memory addresses are defined by a 32-bit addressing scheme, which results in a linear address space of 4GB.

The system's address space is the entire 4GB. Each process has its own process address space, completely distinct from that of all other processes in the system. All threads within the process share the same process address space, which is, theoretically, 512MB. However, the maximum size of process address space is defined at system initialization and is somewhat less than 512MB to allow space for memory used by the operating system.