Zum Inhalt springen

DOS Protected Mode Interface

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 20. November 2010 um 13:52 Uhr durch CatMan61 (Diskussion | Beiträge) (Details: typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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)
  • DJGPP/GO32/CWSDPMI
  • 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