EMM386 - EMM386

EMM386
Entwickler Microsoft , IBM , DR , Datalight , das FreeDOS-Team
Erstveröffentlichung 1988, vor 32–33 Jahren
Betriebssystem MS-DOS , PC-DOS , DR-DOS , ROM-DOS , FreeDOS
Plattform Intel 80386
Art Erweiterter Speichermanager , Befehl

EMM386 ist der erweiterten Speicher - Manager von Microsoft 's MS-DOS , IBM ' s PC - DOS , Digital Research 's DR-DOS , und Datalight ' s ROM-DOS , das verwendet wird , um Speicher mit erweiterten create erweiterten Speicher auf Intel 80386 - CPUs. Es gibt auch eine EMM386.EXE unter FreeDOS .

Überblick

EMM386.EXE kann Speicher in nicht verwendete Blöcke im oberen Speicherbereich (UMA) abbilden , wodurch Gerätetreiber und TSRs "hoch geladen" werden können, wobei herkömmlicher Speicher erhalten bleibt .

Die Technik wohl zunächst mit der Entwicklung erschien CEMM , enthielt mit Compaq MS-DOS 3.31 in 1987 Microsoft-Version zum ersten Mal erscheint, eingebaut, mit Fenstern / 386 2.1 im Jahr 1988 und als Standalone - EMM386.SYS mit MS-DOS 4.01 in 1989 ;; Die flexiblere Version EMM386.EXE wurde 1991 in MS-DOS 5.0 veröffentlicht.

Genau wie die anderen erweiterten Speichermanager verwendet EMM386 den virtuellen 8086-Modus des Prozessors . Dies zwingt Speicherzugriffe von DOS-Anwendungen dazu, die MMU des Prozessors (eingeführt in 386) zu durchlaufen , und die von der MMU verwendeten Seitentabelleneinträge werden von EMM386 konfiguriert, um bestimmte Bereiche im oberen Speicher Bereichen mit erweitertem Speicher zuzuordnen (erhalten von EMM386) über den erweiterten Speichermanager HIMEM.SYS ). Diese Technik ermöglichte sowohl EMS (erweiterter Speicher) als auch UMBs - beide scheinen für DOS-Anwendungen Speicher im oberen Bereich zu sein, werden jedoch tatsächlich physischen Speicherorten über 1 MB zugeordnet.

Es wird während einer Windows-Sitzung im erweiterten 386- Modus vorübergehend heruntergefahren , wobei der Windows- Kernel im geschützten Modus seine Rolle übernimmt.

Windows verwendet die GEMMIS-API, um die Speicherverwaltung von EMM386.EXE zu übernehmen. Die globale EMM- Importspezifikation (GEMMIS) wird über ein Dokument unterstützt, das einer ausgewählten Anzahl von Speichermanager-Anbietern zur Verfügung steht ("Windows / 386-Paging-Importspezifikation").

Nur wenige Speichermanager haben die GEMMIS-API implementiert, einige davon sind: EMM386.EXE, Quarterdeck QEMM , Qualitas 386MAX , Helix Netroom und DOSBox in DOS . Besonders fehlen die Speichermanager von FreeDOS.

Alle FreeDOS-Speichermanager (HIMEMX.EXE, JEMM386.EXE, JEMMEX.EXE) implementieren die GEMMIS-API nicht und Windows startet nicht in Verbindung mit JEMMxxx, da Windows die Speicherverwaltungsrolle nicht übernimmt. Windows ME , Windows 98 , Windows 95 , Windows für Arbeitsgruppen 3.1x und Windows 3 .xx schlagen alle fehl, wenn JEMMxxx Folgendes anzeigt:

 Cannot run Windows while the currently installed protected-mode software is 
 running.
 Quit the protected-mode software, and then try again.
 You may need to restart your computer.

Mit JEMMxx ist es möglich, Windows 3.x und Windows for Workgroups 3.1x mit eingeschränkten Funktionen auszuführen, indem Windows gezwungen wird, den Standardmodus zu verwenden. dh Verwenden des geschützten 80286-Modus, nicht des erweiterten 80386-Modus. Drei Bedingungen sind erforderlich:

  1. Beschränken Sie das gesamte XMS auf 64 MB
  2. EMS muss aktiviert sein, kann die NOEMS-Option nicht verwenden. Zum Beispiel JEMMEX X2MAX = 65422
  3. Windows arbeitet nur im Standardmodus, WIN / S oder WIN / 2

Beachten Sie, dass Windows im Standardmodus nur über eingeschränkte Funktionen verfügt, keinen virtuellen Speicher hat, den Abschnitt [386Enh] in SYSTEM.INI überspringt und keine Gerätetreiber in [386Enh] geladen werden.

Siehe auch

Verweise