Memory management under OS/2 2.0 provides access to larger amounts of physical and virtual memory in a more efficient manner than in previous versions of the OS/2 operating system. It also removes many of the constraints imposed by previous versions. At the same time, the enhanced memory management maintains compatibility with 16-bit applications and resources.
Designed to be used with the Intel (or compatible) 80386SX (or higher) microprocessor, OS/2 2.0 takes full advantage of such 32-bit features as:
OS/2 2.0 manages its memory as a single linear address space of up to 4GB in size. This global address space is divided into two regions:
The choice of 512MB as the dividing line between the two regions allows 16-bit applications and resources written for previous versions of OS/2 to run in addressable memory within the process address space.
OS/2 2.0 allocates memory in multiples of 4KB; each 4KB unit is known as a page. An application can request larger memory objects and can access and manipulate these objects as logical entities, but the operating system internally manages each page as a separate unit. This allows a more efficient implementation of virtual memory, because individual pages can be swapped in and out of real memory rather than entire memory objects. Paging is typically faster, especially when memory objects become very large.