Notice: Unexpected clearActionName after getActionName already called in /var/www/html/includes/context/RequestContext.php on line 338
DOS Protected Mode Interface – Wikipedia Zum Inhalt springen

DOS Protected Mode Interface

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von DPMI)

DOS {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), kurz DPMI, ist eine Programmierschnittstelle (API, {{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value)) für per DOS-Extender laufende PC-kompatible DOS-Programme. Mit deren Hilfe können Programme für MS-DOS (dem wichtigsten Vertreter von PC-kompatiblem DOS) den {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) der x86-Architektur nutzen und umgehen damit die Limitierungen des bis dahin genutzten {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), in dem der sogenannte „konventionelle Speicher“ mit 640 KiB (655.360 Byte, siehe auch {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)) limitiert ist. DPMI ist zwar wesentlich komplexer als dessen Vorgänger VCPI, ist jedoch auch in Multitasking-Umgebungen wie Windows oder OS/2 funktionsfähig.<ref></ref>

Geschichte

DPMI wurde ursprünglich 1989 von Microsoft für Windows 3.0 und OS/2 2.0 entwickelt. Die Technik ermöglicht es, DOS-Anwendungen im {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) von 80286- (16-Bit) und 80386-Prozessoren (32-Bit) zu nutzen.

Unter DOS war damals bereits das von Phar Lap Software und Quarterdeck Office Systems gemeinsam entwickelte {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (VCPI) verbreitet, das eine ähnliche Funktionalität für DOS-Programme bereitstellte, jedoch einen 32-Bit-x86-Prozessor („IA-32“ ab dem 80386) voraussetzte. Ein wesentliches Problem von VCPI war allerdings, dass auch die Programme im privilegierten Ring 0 laufen, weshalb VCPI keinen Speicherschutz bieten kann. Das ist unter DOS, wo Programme üblicherweise exklusiv und ohne Multitasking laufen, normalerweise kein Problem, unter den Betriebssystemen OS/2 und Windows jedoch schon.

1989 gab es bereits einige DOS-Programme, die den {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) mittels VCPI nutzen. Als Microsoft DPMI vorstellte, gab es daher die Befürchtung, dass dies zu zwei verschiedenen, konkurrierenden und obendrein inkompatiblen Techniken führen könnte. Das wurde durch Microsoft selbst verhindert, denn die Spezifikation von DPMI wurde an ein Komitee abgegeben und von der Industrie gemeinsam weiterentwickelt. Die Weiterentwicklung von VCPI wurde daraufhin 1990 eingestellt.<ref></ref><ref></ref>

Die Gründungsmitglieder des {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) waren Borland, IBM, Ergo Computer Solutions, Intelligent Graphics Corporation, Intel, Locus Computing Corporation, Lotus Development Corporation, Microsoft, Phar Lap Software, Phoenix Technologies, Quarterdeck Office Systems und Rational Systems (nun Tenberry Software).<ref></ref>

Details

Unter dem in den 1990er Jahren noch weit verbreiteten PC-Betriebssystem DOS wurde die DPMI-Spezifikation in Form von sogenannten DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) umgesetzt. Ein DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) (von {{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value), erweitern) schaltet den x86-Prozessor in den {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) und bietet dabei eine standardisierte Umgebung für 16- und 32-Bit-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Programme, wobei der DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) selbst als Abstraktionsschicht zum im 16-Bit-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) laufenden DOS und BIOS dient. Nach Beendigung der Anwendung schaltet der DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) in den {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) zurück und übergibt die Kontrolle wieder an das Betriebssystem. Besonders DOS-Programme können per DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) die Limitierung von konventionellem Speicher umgehen, ohne die bis dahin im {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) genutzten aufwändigeren Umwege von z. B. {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), XMS oder EMS nutzen zu müssen.

Mit DPMI wurde es erstmals möglich, dass auch DOS-Anwendungen die Möglichkeiten des {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) von x86-Prozessoren ab dem 80286 nutzen konnten und zudem Inkompatibilitäten mit anderen {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Anwendungen oder -Betriebssystemen – durch die standardisierte Schnittstelle – verhindert wurden. Zudem ermöglicht DPMI (im Gegensatz zu VCPI) Multitasking, da sich Programme, die als {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) unterhalb des DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)s als {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) im Ring 0 laufen, durch den Speicherschutz des {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) im Ring 3 nicht gegenseitig gefährlich werden können.

Unter Windows 3.x wird direkt im Betriebssystem ein {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) bereitgestellt. Die DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) erkennen diesen Fall und beschränken sich dann auf das Durchreichen der entsprechenden Aufrufe, wodurch DOS-Programme, die per DPMI im {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) laufen, auch unter Windows ausführbar bleiben. Ebenso funktionieren DPMI-DOS-Programme im DOS-Modus unter OS/2.

Implementierungen

Betriebssysteme, die Unterstützung für DOS-Programme beinhalten, sowie grafische Aufsätze für DOS, die im {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value) laufen, haben DPMI 1.0 als Host bereits implementiert. Darunter:

Speichermanager, die einen vereinfachten DPMI-0.9-Host auch unter reinem DOS implementieren:

Eine vollwertige Implementierung von DPMI 1.0 auch unter DOS ist die Ausnahme:

  • DPMIONE (setzt DPMI 1.0 um) aus 386MAX von Qualitas, Inc.<ref>Bob Smith: sudleyplace / DPMIONE. GitHub, abgerufen am 29. Dezember 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Kompatible DOS-{{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value), die von vielen für DOS geschriebenen {{Modul:Vorlage:lang}} Modul:Multilingual:153: attempt to index field 'data' (a nil value)-Programmen genutzt werden, verwenden als DPMI-Client einen bereits vorhandenen DPMI-Host.

Siehe auch

Literatur

Weblinks

Einzelnachweise

<references />