DOS Protected Mode Interface

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. September 2015 um 00:14 Uhr durch Bildungsbürger (Diskussion | Beiträge) (-BKL-Link mit AWB). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen

DOS Protected Mode Interface, kurz DPMI, ist eine API zur Entwicklung von DOS-basierten Anwendungen, die mehr als den sogenannten „konventionellen Speicher“ von 640 KB (655.360 Byte, siehe auch UMB) direkt nutzen, ohne Umwege über Bank Switching, XMS, EMS und Ähnliches.

Details

Das DPMI-API existiert als 16- und 32-Bit-API und versteckt sämtliche technischen Details der Programmierung des Protected Mode der neueren Intel-Prozessoren (ab dem Intel 80286) vor dem Anwendungsprogramm. Meist wird das DPMI-API durch ein mitgeliefertes externes Hilfsprogramm bereitgestellt, dem sogenannten DOS-Extender. Somit kann ein Real-Mode-Programm (etwa ein DOS-Programm) Funktionen des Protected Mode nutzen, indem es die entsprechenden DPMI-Funktionen aufruft. Der DOS-Extender schaltet daraufhin in den Protected Mode, führt die gewünschte Funktion aus, schaltet zurück in den Real Mode, und übergibt die Kontrolle wieder an das Anwendungsprogramm.

Unter Windows wird DPMI direkt vom Betriebssystem bereitgestellt. Die DOS-Extender erkennen diesen Fall und reduzieren sich dann auf das Durchreichen der entsprechenden Aufrufe.

DOS-Extender-Implementierungen

Bekannte DOS-Extender:

  • In Borland-Compilern (u. a. Borland Pascal 7.0) eingesetzte RTM.EXE (16-Bit) und RTM32.EXE (32-Bit, nur noch in Turbo C)
  • DOS4GW.EXE (bei Watcom C/C++ mitgeliefert, sehr beliebt bis 1995, danach Entwicklung eingestellt, heute obsolet)
  • PMODE/W
  • Causeway
  • DOS/32A (kompatibel zu DOS4GW.EXE, letzte Version 9.12 von 2006)
  • CWSDPMI (Bestandteil von DJGPP, dort auch als GO32 bezeichnet.)
  • PMODE/DJ
  • WDOSX
  • HDPMI16 (16-Bit) und HDPMI32 (32-Bit) aus dem HX DOS Extender
  • TNT DOS-Extender SDK von Phar Lap
  • 386|DOS-Extender SDK von Phar Lap
  • emx von Eberhard Mattes