DPMI (DOS Protected Mode Interface) is a program interface that allows an application program running under the Disk Operating System (DOS) to take advantage of a DOS extender , which lets the program address a larger range of random access memory ( RAM ) than the 640 kilobytes to which PC programs are basically constrained. To use the extender, the program must be in "protected mode," a mode that ensures that program requests are not allowed to access certain portions of "protected" memory. (Programs running in the alternative "real mode" have access to all portions of memory, including system data.)
The first widely-distributed operating system for personal computers, DOS was designed to run on the Intel 8088 microprocessor . The 8088 provided a megabyte of RAM that could be addressed by a program instruction (that is, the total span of storage for storing and getting data back and forth between the microprocessor and RAM was a million bytes). Because certain space had to be reserved for "system" use (keeping track of applications, system status, and so forth), only 640 kilobytes was available for an application program. These bytes were contiguous in storage (that is, continuously adjacent to each other and not divided into different parts of RAM) and application programs were required to run and keep their data within this 640 kilobyte space. In fact, an instruction that violated the 640 kilobyte space would not be executed (thus protecting the system space in RAM). A program that ran in "real mode" could address the entire 1 megabyte of RAM including system data, but at the risk of writing data to the wrong place.
As new microprocessors such as the 80286 followed the 8088, DOS continued to preserve the 640 kilobyte addressing limitation so that newly-written application programs could continue to run on both the old as well as new microprocessors. The DOS extender program allowed application programs written for DOS to be freed from the 640K constraint by inserting memory management code into the application. Microsoft developed the DPMI for use on Windows 3.0 (which was itself a DOS application) and later gave the standard to an industry organization, the DPMI Committee.
Today's personal computers, using microprocessors that succeeded the 8088, typically contain eight or more megabytes of RAM. Today's operating systems (including the latest DOS versions) come with extended memory management that frees the programmer from the original addressing constraints.
Besides the DPMI standard interface, two other standard extended memory management interfaces exist. Extended Memory Specification (XMS) is a program added to more recent versions of DOS and Windows when the system is loaded. It's called HIMEM.SYS. Another extended memory manager is the Virtual Control Program Interface (VCPI).