## Virtual Device Driver Reference for OS/2

[prev][next][parent][TOC]

### Virtual Expanded Memory Specification Device Driver

The Lotus/Intel/Microsoft Expanded Memory Specification, Version 4.0 (LIM 4 ) provides a standard interface for the use of expanded memory on 8086- family computers. This specification offers up to 32MB of expanded memory divided into as many as 255 expanded memory objects. Regions of these objects can be mapped at 8086 addresses (below 1MB), thus allowing DOS applications access to large memory allocations. However, the memory that is to be accessed must be explicitly mapped.

Alternate page tables are provided for quick switches among mappings and function calls with remapping. These tables are also used as the means to save and update mappings, or move and exchange memory contents.

The OS/2 virtual expanded memory specification (EMM) device driver:

Implements all the INT 67h functions in the LIM 4.0 EMS, except those for the DMA registers.

Provides each DOS session with a separate EMS emulation. A DOS session has its own set of expanded objects so that features such as interprocess communication work as if each DOS session was running on a different real 80386 DOS sessions cannot affect the availability of objects, or access memory in other DOS sessions.

Provides support for remapping of conventional memory (below 640KB) for use by programs.

Provides a configurable limit for the amount of EMS memory available per DOS session.

Supports multiple physical to single logical mappings. Different 8086 addresses can map to the same expanded memory object address.