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

EMM386.EXE

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

Vorlage:Hinweisbaustein EMM386.EXE (auch EMM386.SYS) ist eine Systemdatei, die ab 1987 in DOS-Versionen ab 3.0 und in DOS basierenden Windows-Versionen ab Version 2.0 zur Speicherverwaltung eingesetzt wurde. Sie dient der Verwaltung des erweiterten Speichers (englisch Expanded Memory Management) auf Rechnern mit Intel-i386-CPUs und deren Nachfolgern. In diesem Zusammenhang wird auch von LIM-EMS (Lotus-Intel-Microsoft) Speicher oder eingedeutscht von „Expansionsspeicher“ gesprochen.

Die EMM386.EXE bzw. EMM386.SYS kann durch Einstellungen in der CONFIG.SYS konfiguriert und angepasst werden. Zusätzlich kann EMM386.EXE von der Kommandozeile aus aufgerufen werden und so aktuelle Einstellungen anzeigen oder in stark eingeschränktem Umfang Konfigurationsänderungen vornehmen. Je nach Hersteller setzen einige EMM386-Versionen einen geladenen HIMEM.SYS-Treiber voraus.

Vermutlich kam die erste Version ab 1987 als Compaq CEMM.EXE mit Compaq DOS 3.31, einer OEM-Variante von MS-DOS, erstmals in Verbreitung. Ab etwa 1988 etablierte sich der Name EMM386.SYS für die Expanded-Memory-Manager von MS-DOS- und DR-DOS-Versionen, die zur Bereitstellung der Expanded-Memory-Seiten eine CPU ab Intel i386 benötigten. Ab 1991, mit der Verbreitung von MS-DOS 5.x, wurde eine deutlich verbesserte Version EMM386.EXE eingeführt, die u. a. auch VCPI – und damit DOS-Extender – unterstützt.

Funktionsweise

Emulation von Expanded Memory

Der Treiber EMM386.EXE stellt DOS-Programmen, die nur Arbeitsspeicher aus dem unteren Bereich (unter 1 MiB) adressieren können, seitenweise zusätzlichen Speicher aus dem hohen Speicherbereich (oberhalb von 1 MiB) zur Verfügung. Hierzu benötigt er ein Speicherfenster ({{#invoke:Vorlage:lang|full|CODE=en|SCRIPTING=Latn|SERVICE=englisch}} oder auch {{#invoke:Vorlage:lang|flat}}) im unteren Speicherbereich, bevorzugt im Bereich zwischen 640 KiB und 1 MiB (UMB). In dieses typischerweise 64 KiB große Fenster werden dann beliebige jeweils 16 KiB große Speicherseiten ({{#invoke:Vorlage:lang|full|CODE=en|SCRIPTING=Latn|SERVICE=englisch}}) aus dem hohen Speicher eingeblendet. Man kann allerdings auch UMBs mit weniger als 16 KiB verwenden (die Größe muss nur ein ganzzahliges Vielfaches von 16 Bytes sein). Zum Zugriff wählt das betreffende Programm zunächst die gewünschte Seite an, der EMM386 blendet diese Seite ein und lässt das Programm mit dieser Seite arbeiten. Durch Wechseln der Seite – die neue Seite wird an der gleichen Adresse eingeblendet – können alle Bereiche des hohen Speichers genutzt werden. Aus Sicht des Programmes wird in jedem Fall nur mit Speicheradressen aus dem unteren Speicher agiert.

EMM386 erreicht so aus Softwaresicht den gleichen Effekt wie die ursprünglichen, für spezielle EMS-Steckkarten ausgelegten Expansionsspeicher-Treiber. Während diese allerdings eigene, für die CPU an sich gar nicht adressierbare Speicherbereiche mittels einer speziellen Bank-Switching-Hardware einblendeten, verwendet EMM386 ausschließlich „Bordmittel“ der 386er und höheren Prozessoren. Als Nebeneffekt wird der Prozessor dabei allerdings aus dem unter DOS üblichen Real-Modus in den Virtual-8086-Modus geschaltet, womit einige sehr hardwarenah arbeitende Programme und einige Programme, die spezielle Speicherverwaltungstricks verwenden, nicht kompatibel sind.

Der Intel 80186 und seine Vorgänger bieten die Einblendung von Speicher an anderen Adressen noch nicht an, hier kann daher prinzipbedingt EMS-Speicher nur über die speziellen EMS-Steckkarten, auch Memory Expander Karten genannt, realisiert werden.

Beim Intel 80286 ist es abhängig vom Chipsatz des Mainboards. So gibt es bspw. erweiterte Chipsätze wie den NEAT-Chipsatz, mit dem es auf dem i80286 möglich ist, ohne EMS-Karte bis zu 8 MiB EMS-Speicher auf diesem Prozessor zu verwenden. Wie bei EMS-Karten auch, ist hierfür ein extra für den Chipsatz geschriebener Treiber notwendig. Der den verschiedenen DOS-Versionen beiliegende EMM386-Treiber eignet sich dafür nicht. Zwar gibt es einen allgemeinen EMM286 für PC/AT-kompatible 286-Rechner, wegen der auf 80286-Rechnern fehlenden Fähigkeit zur Nutzung der UMA als Arbeitsspeicher musst das EMS-Speicherfenster damit jedoch im konventionellen Speicher vorgehalten werden<ref>{{#if:2018-01-07|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:Jjex Software|Jjex Software: }}{{#if:https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7C{{#if:EMM286.TXT%7C[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1=https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=EMM286.TXT}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C1}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=EMM286.TXT}}}}%7C[{{#invoke:URLutil|getNormalized|1=https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=EMM286.TXT}}}}]}}{{#if:| ({{{format}}}{{#if:1The Programmer's Corner1993https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/{{#if: 2025-07-12 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}

          | )
          | {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ; 
              | )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/}}%7C%7C}}}}{{#if:EMM286.TXT|{{#if:{{#invoke:WLink|isValidLinktext|1=EMM286.TXT|lines=0}}||}}}}{{#if: The Programmer's Corner| In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=The Programmer's Corner}}}}{{#if: | {{{hrsg}}}{{#if: 1993https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7C,%7C{{#if: 2025-07-12 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: 1993| {{#if:{{#invoke:DateTime|format|1993|noerror=1}}
            |{{#invoke:DateTime|format|1993|T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=1993|class=Zitationswartung}} }}{{#if: https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7C,%7C{{#if: 2025-07-12 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7C,%7C{{#if: 2025-07-12 | {{#if:{{#invoke:TemplUtl|faculty|}}|;|,}}}}}}}}{{#if: https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/{{#invoke:TemplUtl%7Cfaculty%7C1}}%7C+{{#if:1993%7C{{#if:https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7Carchiviert%7Cehemals}}%7C{{#if:https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7CArchiviert%7CEhemals}}}}+{{#if:https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7Cvom%7Cim}}+Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|1}}| (nicht mehr online verfügbar)}}{{#if: 2018-01-07| am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|2018-01-07{{#if:924994||(?)}}}}}}{{#if: EMM286 is an Expanded Memory LIMulator for an AT-Class system, or other 286 compatible. … The resident portion of the driver uses less than 4k of conventional memory, with defaults, plus a 64k EMS page frame.2025-07-12|;}}}}{{#if: 2025-07-12| {{#if:1993https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/{{#invoke:TemplUtl%7Cfaculty%7C1}}%7Cabgerufen%7CAbgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2025-07-12 |ISO|noerror=1}} }}
       |4=im Jahr
       |7=im
       |10=am
       |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2025-07-12|class=Zitationswartung}} }} {{#invoke:DateTime|format|2025-07-12|T._Monat JJJJ}}
    | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:1The Programmer's Corner1993https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/{{#if: 2025-07-12 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}}}}
       |  (
       | {{#if: | |  (}}
       }}{{#ifeq:{{#if:en|en|de}}|de||
          {{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: 1993https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/{{#if: 2025-07-12 | {{#if:{{#invoke:TemplUtl|faculty|}}||1}} }}enEMM286 is an Expanded Memory LIMulator for an AT-Class system, or other 286 compatible. … The resident portion of the driver uses less than 4k of conventional memory, with defaults, plus a 64k EMS page frame.|{{#if: EMM286 is an Expanded Memory LIMulator for an AT-Class system, or other 286 compatible. … The resident portion of the driver uses less than 4k of conventional memory, with defaults, plus a 64k EMS page frame.|: {{
 #if: 
 | {{
     #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | Vorlage:Str trim
     | {{#invoke:Vorlage:lang|flat}}
     }}
 | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de
     | „Vorlage:Str trim“
     | {{#invoke:Text|quote
         |1={{#if: 
              | {{#invoke:Vorlage:lang|flat}}
              | {{#invoke:Vorlage:lang|flat}} }}
         |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}}
         |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: EMM286 is an Expanded Memory LIMulator for an AT-Class system, or other 286 compatible. … The resident portion of the driver uses less than 4k of conventional memory, with defaults, plus a 64k EMS page frame.

   | {{#if: 
       | {{#if: EMM286 is an Expanded Memory LIMulator for an AT-Class system, or other 286 compatible. … The resident portion of the driver uses less than 4k of conventional memory, with defaults, plus a 64k EMS page frame.
           | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }}
   | Vorlage:": Text= fehlt }}{{#if:  | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}}
             | Vorlage:": Ungültiger Wert: ref=
             | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|1}}|{{#if:https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7C%7C{{#ifeq: 1 | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/
       | {{#if:  | [1] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/
      | {{#if:{{#invoke:URLutil|isWebURL|https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/ Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/
       | {{#if:{{#invoke:URLutil|isWebURL|https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/ }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/
       | {{#if:  | [2] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/
      | {{#if:{{#invoke:URLutil|isWebURL|https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/ Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/
       | {{#if:{{#invoke:URLutil|isWebURL|https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/ }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:https://web.archive.org/web/20180107141552/https://www.pcorner.com/list/UTILITY/EMM286.ZIP/EMM286.TXT/%7CVorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }}</ref> und der Zugriff auf EMS-Speicher ist – im Vergleich mit EMS-Speicherkarten und der EMS-Emulation auf einem i386 mit EMM386 – sehr langsam, weil der Moduswechsel zwischen {{#invoke:Vorlage:lang|flat}} und {{#invoke:Vorlage:lang|flat}} auf dem 80286, der undokumentiert und daher nur durch einen Hack möglich ist, ebenfalls sehr langsam vonstattengeht.

Upper Memory Blocks

Neuere Versionen vom EMM386 bieten zusätzlich oder anstelle der EMS-Verwaltung eine weitere, konzeptionell unabhängige Funktion an: Treiber und andere residente Programme können in Upper Memory Blocks (UMBs) geladen werden. Dazu werden die Befehle DEVICEHIGH und LOADHIGH (kurz LH) verwendet. Hierdurch konnte weiterer Speicher für DOS-Anwendungsprogramme (unter der 640-KiB-Grenze) freigehalten werden.

VCPI

{{#if: Virtual Control Program Interface|{{#ifexist:Virtual Control Program Interface|

|{{#if: |{{#ifexist:{{{2}}}|

→ Haupt{{#if:|seite|artikel}}: [[{{{2}}}{{#if: ||{{{titel2}}}}}]]{{#if: |{{#ifexist:{{{3}}}| und [[{{{3}}}{{#if: ||{{{titel3}}}}}]]|}}|}}

|{{#if: |{{#ifexist:{{{3}}}|

→ Haupt{{#if:|seite|artikel}}: [[{{{3}}}{{#if: ||{{{titel3}}}}}]]

|}}|}}|}}|}}|}}|Einbindungsfehler: Die Vorlage Hauptartikel benötigt immer mindestens ein Argument.}}

Ab MS-DOS 5.0 und DR DOS 6.0,<ref>{{#invoke:Vorlage:Literatur|f}}</ref> beide von 1991, stellt Vorlage:Monospace auch VCPI zur Verfügung, da sonst DOS-Extender nicht funktionieren. Wenn EMS deaktiviert wird, muss Speicher für VCPI explizit zugewiesen werden. Ab der mit MS-DOS 6.0 und Windows für Workgroups verteilten Version von Vorlage:Monospace wird auch beim Parameter NOEMS VCPI bereitgestellt, kann jedoch explizit mit dem Parameter NOVCPI abgeschaltet werden.<ref>{{#if:2002|{{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}| |}}}}{{#if:|{{{autor}}}: }}{{#if:https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7C{{#if:Q96625: MS-DOS: EMM386.EXE and VCPI Services|[{{#invoke:Vorlage:Internetquelle|archivURL|1={{#invoke:URLutil|getNormalized|1=https://jeffpar.github.io/kbarchive/kb/096/Q96625/}}}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=Q96625: MS-DOS: EMM386.EXE and VCPI Services}}]{{#if:| ({{{format}}})}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}|{{#if:http://support.microsoft.com/kb/096/Q96625/%7C{{#if:{{#invoke:TemplUtl%7Cfaculty%7C1}}%7C{{#invoke:Vorlage:Internetquelle%7CTitelFormat%7Ctitel={{#invoke:WLink%7CgetEscapedTitle%7C1=Q96625: MS-DOS: EMM386.EXE and VCPI Services}}}}|[{{#invoke:URLutil|getNormalized|1=http://support.microsoft.com/kb/096/Q96625/}} {{#invoke:Vorlage:Internetquelle|TitelFormat|titel={{#invoke:WLink|getEscapedTitle|1=Q96625: MS-DOS: EMM386.EXE and VCPI Services}}}}]}}{{#if:| ({{{format}}}{{#if:1Knowledge BaseMicrosoft2002https://jeffpar.github.io/kbarchive/kb/096/Q96625/{{#if: 2026-01-23 | {{#if:{{#invoke:TemplUtl|faculty|1}}||1}}}}

          | )
          | {{#if:{{#ifeq:en|de||{{#if:en|1}}}}| ; 
              | )}}}}}}{{#if:| {{{titelerg}}}{{#invoke:Vorlage:Internetquelle|Endpunkt|titel={{{titelerg}}}}}}}}}}}{{#if:http://support.microsoft.com/kb/096/Q96625/%7C{{#if:{{#invoke:URLutil%7CisResourceURL%7C1=http://support.microsoft.com/kb/096/Q96625/}}%7C%7C}}}}{{#if:Q96625: MS-DOS: EMM386.EXE and VCPI Services|{{#if:{{#invoke:WLink|isValidLinktext|1=Q96625: MS-DOS: EMM386.EXE and VCPI Services|lines=0}}||}}}}{{#if: Knowledge Base| In: {{#invoke:Vorlage:Internetquelle|TitelFormat|titel=Knowledge Base}}}}{{#if: Microsoft| Microsoft{{#if: 2002https://jeffpar.github.io/kbarchive/kb/096/Q96625/|,|{{#if: 2026-01-23 | {{#if:{{#invoke:TemplUtl|faculty|1}}|;|,}}}}}}}}{{#if: 2002| {{#if:{{#invoke:DateTime|format|2002|noerror=1}}
            |{{#invoke:DateTime|format|2002|T._Monat JJJJ}}
            |{{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, datum=2002|class=Zitationswartung}} }}{{#if: https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7C,%7C{{#if: 2026-01-23 | {{#if:{{#invoke:TemplUtl|faculty|1}}|;|,}}}}}}}}{{#if: | S. {{{seiten}}}{{#if: https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7C,%7C{{#if: 2026-01-23 | {{#if:{{#invoke:TemplUtl|faculty|1}}|;|,}}}}}}}}{{#if: https://jeffpar.github.io/kbarchive/kb/096/Q96625/{{#invoke:TemplUtl%7Cfaculty%7C1}}%7C+{{#if:2002Microsoft%7C{{#if:https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7Carchiviert%7Cehemals}}%7C{{#if:https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7CArchiviert%7CEhemals}}}}+{{#if:https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7Cvom%7Cim}}+Vorlage:Referrer{{#if:{{#invoke:TemplUtl|faculty|1}}| (nicht mehr online verfügbar)}}{{#if: 2002| am {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}|2002{{#if:924994||(?)}}}}}}{{#if: Several popular MS-DOS-based applications use DOS extenders to share extended memory and use of the protected mode of 80386 and higher processors through VCPI. VCPI is an extension to the expanded memory services (EMS) interface and is typically implemented by an EMS emulator (such as EMM386.EXE or Quarterdeck's QEMM386.SYS).
Without VCPI support, "DOS-extended" applications could not run with systems running in virtual 8086 mode. EMS emulators use virtual 8086 mode to provide expanded memory mapping and/or create upper memory blocks (UMBs).
To enable VCPI support in the version of EMM386.EXE provided with both MS-DOS 5.0 and Windows 3.1, you must configure EMM386.EXE to emulate EMS. To enable VCPI without EMS support when the NOEMS switch is active, you must specify a VCPI memory pool size. … using the version of EMM386.EXE from MS-DOS 5.0 or Windows 3.1 …
The MS-DOS 6.x and Windows for Workgroups version of EMM386.EXE enables VCPI support without specifying a VCPI size parameter even if the NOEMS switch is active. Any EMM386 device command that does not include the NOVCPI switch provides VCPI services.2026-01-23|;}}}}{{#if: 2026-01-23| {{#if:2002Microsofthttps://jeffpar.github.io/kbarchive/kb/096/Q96625/{{#invoke:TemplUtl|faculty|1}}|abgerufen|Abgerufen}} {{#switch: {{#invoke:Str|len| {{#invoke:DateTime|format| 2026-01-23 |ISO|noerror=1}} }} |4=im Jahr |7=im |10=am |#default={{#invoke:TemplUtl|failure|1=Fehler bei Vorlage:Internetquelle, abruf=2026-01-23|class=Zitationswartung}} }} {{#invoke:DateTime|format|2026-01-23|T._Monat JJJJ}} | {{#invoke:TemplUtl|failure|1=Vorlage:Internetquelle | abruf=2026-MM-TT ist Pflichtparameter}} }}{{#if:{{#ifeq:en|de||{{#if:en|1}}}}|{{#if:1Knowledge BaseMicrosoft2002https://jeffpar.github.io/kbarchive/kb/096/Q96625/{{#if: 2026-01-23 | {{#if:{{#invoke:TemplUtl|faculty|1}}||1}}}} | ( | {{#if: | | (}} }}{{#ifeq:{{#if:en|en|de}}|de|| {{#invoke:Multilingual|format|en|slang=!|split=[%s,]+|shift=m|separator=, }}}}{{#if: |{{#ifeq:{{#if:en|en|de}}|de||, }}{{{kommentar}}}}})}}{{#if: 2002https://jeffpar.github.io/kbarchive/kb/096/Q96625/{{#if: 2026-01-23 | {{#if:{{#invoke:TemplUtl|faculty|1}}||1}} }}enSeveral popular MS-DOS-based applications use DOS extenders to share extended memory and use of the protected mode of 80386 and higher processors through VCPI. VCPI is an extension to the expanded memory services (EMS) interface and is typically implemented by an EMS emulator (such as EMM386.EXE or Quarterdeck's QEMM386.SYS).
Without VCPI support, "DOS-extended" applications could not run with systems running in virtual 8086 mode. EMS emulators use virtual 8086 mode to provide expanded memory mapping and/or create upper memory blocks (UMBs).
To enable VCPI support in the version of EMM386.EXE provided with both MS-DOS 5.0 and Windows 3.1, you must configure EMM386.EXE to emulate EMS. To enable VCPI without EMS support when the NOEMS switch is active, you must specify a VCPI memory pool size. … using the version of EMM386.EXE from MS-DOS 5.0 or Windows 3.1 …
The MS-DOS 6.x and Windows for Workgroups version of EMM386.EXE enables VCPI support without specifying a VCPI size parameter even if the NOEMS switch is active. Any EMM386 device command that does not include the NOVCPI switch provides VCPI services.|{{#if: Several popular MS-DOS-based applications use DOS extenders to share extended memory and use of the protected mode of 80386 and higher processors through VCPI. VCPI is an extension to the expanded memory services (EMS) interface and is typically implemented by an EMS emulator (such as EMM386.EXE or Quarterdeck's QEMM386.SYS).
Without VCPI support, "DOS-extended" applications could not run with systems running in virtual 8086 mode. EMS emulators use virtual 8086 mode to provide expanded memory mapping and/or create upper memory blocks (UMBs).
To enable VCPI support in the version of EMM386.EXE provided with both MS-DOS 5.0 and Windows 3.1, you must configure EMM386.EXE to emulate EMS. To enable VCPI without EMS support when the NOEMS switch is active, you must specify a VCPI memory pool size. … using the version of EMM386.EXE from MS-DOS 5.0 or Windows 3.1 …
The MS-DOS 6.x and Windows for Workgroups version of EMM386.EXE enables VCPI support without specifying a VCPI size parameter even if the NOEMS switch is active. Any EMM386 device command that does not include the NOVCPI switch provides VCPI services.|: {{ #if: | {{ #ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de | Vorlage:Str trim | {{#invoke:Vorlage:lang|flat}} }} | {{#ifeq: {{#if:{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|{{#if: {{#invoke:templutl|faculty|}}|de-ch|de}}|de}} | de | „Vorlage:Str trim“ | {{#invoke:Text|quote |1={{#if: | {{#invoke:Vorlage:lang|flat}} | {{#invoke:Vorlage:lang|flat}} }} |2={{#if: {{#invoke:TemplUtl|faculty|}}|de-CH|de}} |3=1}} }}

}}{{#if:

   |  (<templatestyles src="Person/styles.css" />{{#if:  | :  }}{{#if:  | , deutsch: „“ }})
   | {{#if: 
       |  ({{#if:  | , deutsch: „“ }})
       | {{#if:  |  (deutsch: „“) }}
 }}

}}{{#if: Several popular MS-DOS-based applications use DOS extenders to share extended memory and use of the protected mode of 80386 and higher processors through VCPI. VCPI is an extension to the expanded memory services (EMS) interface and is typically implemented by an EMS emulator (such as EMM386.EXE or Quarterdeck's QEMM386.SYS).
Without VCPI support, "DOS-extended" applications could not run with systems running in virtual 8086 mode. EMS emulators use virtual 8086 mode to provide expanded memory mapping and/or create upper memory blocks (UMBs).
To enable VCPI support in the version of EMM386.EXE provided with both MS-DOS 5.0 and Windows 3.1, you must configure EMM386.EXE to emulate EMS. To enable VCPI without EMS support when the NOEMS switch is active, you must specify a VCPI memory pool size. … using the version of EMM386.EXE from MS-DOS 5.0 or Windows 3.1 …
The MS-DOS 6.x and Windows for Workgroups version of EMM386.EXE enables VCPI support without specifying a VCPI size parameter even if the NOEMS switch is active. Any EMM386 device command that does not include the NOVCPI switch provides VCPI services.

   | {{#if: 
       | {{#if: Several popular MS-DOS-based applications use DOS extenders to share extended memory and use of the protected mode of 80386 and higher processors through VCPI. VCPI is an extension to the expanded memory services (EMS) interface and is typically implemented by an EMS emulator (such as EMM386.EXE or Quarterdeck's QEMM386.SYS).
Without VCPI support, "DOS-extended" applications could not run with systems running in virtual 8086 mode. EMS emulators use virtual 8086 mode to provide expanded memory mapping and/or create upper memory blocks (UMBs).
To enable VCPI support in the version of EMM386.EXE provided with both MS-DOS 5.0 and Windows 3.1, you must configure EMM386.EXE to emulate EMS. To enable VCPI without EMS support when the NOEMS switch is active, you must specify a VCPI memory pool size. … using the version of EMM386.EXE from MS-DOS 5.0 or Windows 3.1 …
The MS-DOS 6.x and Windows for Workgroups version of EMM386.EXE enables VCPI support without specifying a VCPI size parameter even if the NOEMS switch is active. Any EMM386 device command that does not include the NOVCPI switch provides VCPI services. | Vorlage:": Text= und 1= gleichzeitig, bzw. Pipe zu viel }} }} | Vorlage:": Text= fehlt }}{{#if: | {{#if: {{#invoke:Text|unstrip|{{{ref}}}}} | Vorlage:": Ungültiger Wert: ref= | {{{ref}}} }}

}}|.{{#if:{{#invoke:TemplUtl|faculty|1}}|{{#if:https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7C%7C{{#ifeq: 1 | JaKeinHinweis |{{#switch:

   |0|=Vorlage:Toter Link/Core{{#if: http://support.microsoft.com/kb/096/Q96625/
       | {{#if:  | [3] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: http://support.microsoft.com/kb/096/Q96625/
      | {{#if:{{#invoke:URLutil|isWebURL|http://support.microsoft.com/kb/096/Q96625/}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://support.microsoft.com/kb/096/Q96625/ Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if: deadurlausgeblendet | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: http://support.microsoft.com/kb/096/Q96625/
       | {{#if:{{#invoke:URLutil|isWebURL|http://support.microsoft.com/kb/096/Q96625/}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: deadurl
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[http://support.microsoft.com/kb/096/Q96625/ }}|{{#switch: 
   |0|=Vorlage:Toter Link/Core{{#if: http://support.microsoft.com/kb/096/Q96625/
       | {{#if:  | [4] }} (Seite {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. Suche im Internet Archive ){{#if: 
           | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}
       |   (Seite {{#switch:|no|0|=|#default=dauerhaft }}nicht mehr abrufbar{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}.)
     }}{{#switch: 
         |no|0|=
         |#default={{#if:  ||  }}
    }}{{#invoke:TemplatePar|check
         |opt      = inline= url= text= datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
    }}{{#if: http://support.microsoft.com/kb/096/Q96625/
      | {{#if:{{#invoke:URLutil|isWebURL|http://support.microsoft.com/kb/096/Q96625/}}
          || {{#if:  ||  }} 
        }}
      | {{#if: 
           | {{#if:  ||  }}
           | {{#if:  ||  }}
        }}
    }}{{#if: 
       | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
         }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}|#default= https://wiki-de.moshellshocker.dns64.de/index.php?title=Wikipedia:Defekte_Weblinks&dwl=http://support.microsoft.com/kb/096/Q96625/ Die nachstehende Seite ist {{#switch:|no|0|=|dauerhaft }}nicht mehr abrufbar]{{#if:  | , festgestellt im {{#invoke:DateTime|format||F Y}} }}. (Suche im Internet Archive. )  {{#if: 
            | {{#if:  | | Vorlage:Toter Link/archivebot }}
         }}Vorlage:Toter Link/Core{{#switch: 
          |no|0|=
          |#default= {{#if:  ||  }}
        }}{{#invoke:TemplatePar|check
         |all      = inline= url=
         |opt      = datum= date= archivebot= bot= botlauf= fix-attempted= checked=
         |cat      = Wikipedia:Vorlagenfehler/Vorlage:Toter Link
         |errNS    = 0
         |template = Vorlage:Toter Link
         |format   = 
         |preview  = 1
       }}{{#if: http://support.microsoft.com/kb/096/Q96625/
       | {{#if:{{#invoke:URLutil|isWebURL|http://support.microsoft.com/kb/096/Q96625/}}
          || {{#if:  ||  }} 
        }}
    }}{{#if: 
         | {{#if:{{#invoke:DateTime|format||F Y|noerror=1}}
             || {{#if:  ||  }} 
           }}
    }}{{#switch: 
         |checked|deadurl|= 
         |#default=  {{#if:  ||  }}
    }}[http://support.microsoft.com/kb/096/Q96625/ }} }}}}}}}}}}{{#if:|
        {{#invoke:Vorlage:Internetquelle|archivBot|stamp={{{archiv-bot}}}|text={{#if:https://jeffpar.github.io/kbarchive/kb/096/Q96625/%7CVorlage:Webarchiv/archiv-bot}}

}}}}{{#invoke:TemplatePar|check |all= url= titel= |opt= autor= hrsg= format= sprache= titelerg= werk= seiten= datum= abruf= zugriff= abruf-verborgen= archiv-url= archiv-datum= archiv-bot= kommentar= zitat= AT= CH= offline= |cat= {{#ifeq: 0 | 0 | Wikipedia:Vorlagenfehler/Vorlage:Internetquelle}} |template= Vorlage:Internetquelle |format=0 |preview=1 }}</ref>

Ablöse

Moderne Betriebssysteme schalten die CPU gleich nach dem Booten des Kernels in den Protected Mode, womit der gesamte physische Hauptspeicher zur Verfügung steht und derartige Umwege über EMS und Zusatztreiber, wie er bei DOS und dem Real Mode noch nötig war, nicht mehr notwendig sind.

Eine ähnliche Technik wird bei Windows auf 32-Bit-Systemen angeboten: Man nennt sie AWE (Address Windowing Extension). Eine passende Hardware mit PAE Unterstützung vorausgesetzt, stellt diese Technik Speicher, der jenseits der durch die 32-Bit-Adressierung bedingten 4-GB-Grenze liegt, ebenfalls in Fenstertechnik, zur Verfügung. AWE wurde von einigen speicherintensiven Programmen, wie dem Microsoft SQL Server, verwendet. Durch die Verbreitung von 64-Bit-Betriebssystemen wird auch diese Fenstertechnik bald bedeutungslos werden.

Siehe auch

Einzelnachweise

<references />