Applications which experience memory constraints under DOS may overcome many of the inherent limitations of real mode by running protected mode. However, an application running in protected mode cannot easily access the facilities of real mode software such as the DOS operating system or TSR programs. DPMI provides an interface which allows an application to execute in protected mode, and to make DOS requests through DPMI. All mode switching and address conversion is handled by DPMI on the application's behalf.
DPMI resolves problems relating to device virtualization, intertask protection, and demand paging that occur when multiple protected mode DOS extender applications are run in a multitasking environment, in conjunction with memory managers and control programs.
DPMI is implemented under OS/2 Version 2.0 using a combination of virtual device driver services and kernel services to provide DPMI functions to client applications. The provision of these functions allows applications written to use DPMI services, such as applications which run under Microsoft Windows in standard mode, to run in a VDM under OS/2 Version 2.0.