EMM386 - EMM386

EMM386
Разработчики) Microsoft , IBM , DR , Datalight , команда FreeDOS
изначальный выпуск 1988, 32–33 года назад
Операционная система MS-DOS , ПК DOS , DR DOS , ROM-DOS , FreeDOS
Платформа Intel 80386
Тип Расширенный менеджер памяти , Команда

EMM386 является расширенной памяти менеджер Microsoft 's MS-DOS , IBM ' s PC DOS , Digital Research 's DR-DOS , и Datalight ' s ROM-DOS , которая используется для создания расширенной памяти с использованием расширенной памяти на Intel 80386 процессоров. Также имеется EMM386.EXE, доступный в FreeDOS .

Обзор

EMM386.EXE может отображать память в неиспользуемые блоки в области верхней памяти (UMA), позволяя «загружать высокие» драйверы устройств и TSR , сохраняя обычную память .

Этот метод, вероятно, впервые появился с разработкой CEMM , включенной в Compaq MS-DOS 3.31 в 1987 году. Версия Microsoft впервые появилась, встроенная, с Windows / 386 2.1 в 1988 году и как автономный EMM386.SYS с MS-DOS 4.01 в 1989 году. ; более гибкая версия EMM386.EXE появилась в MS-DOS 5.0 в 1991 году.

Как и другие менеджеры расширенной памяти, EMM386 использует виртуальный режим 8086 процессора . Это заставляет доступ к памяти, выполняемый приложениями DOS, проходить через MMU процессора (представленный в 386), а записи таблицы страниц, используемые MMU, конфигурируются EMM386 для сопоставления определенных областей верхней памяти с областями расширенной памяти (полученными EMM386 через менеджер расширенной памяти HIMEM.SYS ). Этот метод позволил использовать как EMS (расширенную память), так и UMB - оба из которых кажутся приложениям DOS как память в верхней области, но фактически отображаются в области физической памяти за пределами 1 МБ.

Он временно отключается во время сеанса Windows в расширенном режиме 386 , и его роль берет на себя ядро защищенного режима Windows .

Windows использует GEMMIS API, чтобы взять на себя управление памятью из EMM386.EXE. Глобальная спецификация импорта EMM (GEMMIS) поддерживается посредством документа, доступного для избранного числа поставщиков диспетчеров памяти (« Спецификация импорта подкачки Windows / 386»).

Лишь немногие менеджеры памяти реализовали GEMMIS API, некоторые из них , которые включают его являются: EMM386.EXE, Quarterdeck QEMM , Qualitas 386Max , Helix Netroom и DOSBox встроенной DOS . В частности, отсутствуют менеджеры памяти FreeDOS.

Все менеджеры памяти FreeDOS (HIMEMX.EXE, JEMM386.EXE, JEMMEX.EXE) не реализуют GEMMIS API, и Windows не запускается при работе в сочетании с JEMMxxx, поскольку Windows не может взять на себя роль управления памятью. Windows ME , Windows 98 , Windows 95 , Windows for Workgroups 3.1x и Windows 3 .xx, ​​все не будут работать с отображением JEMMxxx:

 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.

С JEMMxx можно запускать Windows 3.x и Windows for Workgroups 3.1x с ограниченными возможностями, заставляя Windows использовать стандартный режим; т.е. с использованием защищенного режима 80286, а не расширенного режима 80386. Требуются три условия:

  1. ограничить общий размер XMS до 64 МБ
  2. EMS должен быть включен, нельзя использовать опцию NOEMS. Например JEMMEX X2MAX = 65422
  3. Windows работает только в стандартном режиме, WIN / S или WIN / 2

Обратите внимание, что Windows в стандартном режиме ограничена в функциональности, ей не хватает виртуальной памяти, она пропускает раздел [386Enh] в SYSTEM.INI и любые драйверы устройств в [386Enh] не загружаются.

Смотрите также

использованная литература