OS/2 2.0 manages memory internally using pages of 4KB each. When a session needs to use an area of real memory, and none is available, the control program swaps out to disk, any information in memory that has not been accessed for a period of time. Fixed page size speeds performance when memory must be swapped, which is an improvement over the segmentation model used by earlier OS/2 versions. Consistent with the object orientation of the operating environment, the control program can view a page, a related set of pages, or segments within a single page as a memory object.
A memory object is the term used under OS/2 2.0 for a linear, contiguous range of memory addresses, which is regarded and manipulated as a single logical unit by an application. A memory object is composed of one or more discrete 4KB pages. OS/2 2.0 manages all paging internally on a page-to-page basis.
The 32-bit applications that run under OS/2 2.0 deal with the 32-bit addressing scheme. This is in contrast to the segmented memory model implemented by the 80286 processor. However, to maintain compatibility for 16-bit applications, OS/2 2.0 also supports the segmented memory model. Code segments of 16-bit applications and libraries are packed in memory to reduce page fragmentation.