DOS Protected Mode Interface

Perhaps the most significant limitation of real mode operation, as used by DOS and similar operating systems, is the 1MB addressing limitation. This limitation can be overcome by executing applications in protected mode, but since the DOS operating system and most TSR applications must run in real mode, problems arise when applications attempt to access interrupts, TSRs or operating system facilities.

The DOS Protected Mode Interface (DPMI) is a protected mode programming interface for DOS applications, allowing such applications to run on an 80286 or 80386 processor in protected mode, while utilizing the real mode services of the operating system and device drivers. When an application wishes to access a DOS service, it makes a request to DPMI, which handles the appropriate address translations, switches the processor to real mode and makes the service request to DOS. The result of the request is then translated to the correct format for the protected mode application, the processor is switched back to protected mode, and control is returned to the application.

DPMI has been implemented in the Multiple Virtual DOS Machines component of OS/2 Version 2.0, and provides functions such as memory allocation and interrupt management for applications which use DPMI services. This support is provided through a component, implemented as a virtual device driver, known as the DPMI API Layer, in conjunction with the MVDM kernel.

This chapter provides a brief overview of DPMI, and describes its implementation under OS/2 Version 2.0.


[Back: Summary]
[Next: DPMI Introduction]