ЭММ386
Эта статья нуждается в дополнительных цитатах для проверки . ( декабрь 2009 г. ) |
Разработчик(и) | Microsoft , IBM , DR , Datalight , команда FreeDOS |
---|---|
Первоначальный выпуск | 1988 г., 35–36 лет назад. |
Операционная система | MS-DOS , ПК DOS , DR DOS , ROM-DOS , FreeDOS |
Платформа | Интел 80386 |
Тип | Расширенный менеджер памяти, Command |
EMM386 — расширенной памяти менеджер Microsoft от MS-DOS , IBM от PC DOS , Digital Research от DR-DOS и Datalight . от ROM-DOS [1] который используется для создания расширенной памяти с использованием расширенной памяти на процессорах Intel 80386 . также доступен EMM386.EXE В FreeDOS . [2]
Обзор
[ редактировать ]EMM386.EXE может отображать память в неиспользуемые блоки в верхней области памяти (UMA), позволяя драйверам устройств и резидентным программам «завершать и оставаться» «загружаться высоко», сохраняя традиционную память .
Этот метод, вероятно, впервые появился при разработке CEMM Compaq , включенного в OEM MS-DOS для Compaq Deskpro 386 в 1986 году. Версия Microsoft впервые появилась, встроенная, в Windows/386 2.0 в 1987 году и как отдельный EMM386.SYS с MS. -DOS 4.0 1988 года; более гибкая версия 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 использует API GEMMIS для управления памятью из EMM386.EXE. Глобальная спецификация импорта EMM (GEMMIS) поддерживается через документ, доступный избранному числу поставщиков диспетчеров памяти («Спецификация импорта подкачки Windows/386»). [3] [4] [5] [6]
Лишь несколько менеджеров памяти реализовали API GEMMIS, некоторые из них включают его: EMM386.EXE, Quarterdeck QEMM , Qualitas 386MAX , Helix Netroom. [3] и DOSBox встроенный в DOS . Примечательно отсутствие менеджеров памяти FreeDOS.
Ни один из менеджеров памяти FreeDOS (HIMEMX.EXE, JEMM386.EXE, JEMMEX.EXE) не реализует API GEMMIS, и 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. Требуются три условия:
- ограничить общий размер XMS до 64 МБ
- EMS должна быть включена, опцию NOEMS использовать нельзя. Например JEMMEX X2MAX=65422.
- Windows работает только в стандартном режиме, WIN/S или WIN/2.
Обратите внимание, что Windows в стандартном режиме ограничена в функциональности, ей не хватает виртуальной памяти, она пропускает раздел [386Enh] в файле SYSTEM.INI и любые драйверы устройств в [386Enh] не загружаются.
История
[ редактировать ]В комплекте с | Дата | Имя файла | Версия |
---|---|---|---|
MS-DOS 4.01 | ноябрь 1988 г. | EMM386.SYS | 4.00 |
Windows 3.0 | май 1990 г. | EMM386.SYS | 4.10.0419 |
MS-DOS 5.0 | июнь 1991 г. | EMM386.EXE | 4.20.06x |
IBM-ПК DOS 5.0 | июнь 1991 г. | EMM386.EXE | 4.20.06x |
IBM-ПК DOS 5.02 | сентябрь 1992 г. | EMM386.EXE | 4.33 |
MS-DOS 5.00а | ноябрь 1992 г. | EMM386.EXE | 4.33 |
Windows 3.1 | апрель 1992 г. | EMM386.EXE | 4.44 |
Windows для рабочих групп 3.1 | Октябрь 1992 г. | EMM386.EXE | 4.44 |
MS-DOS 6.0 | март 1993 г. | EMM386.EXE | 4.45 |
IBM-ПК DOS 6.1 | июнь 1993 г. | EMM386.EXE | 4.45 |
MS-DOS 6.2 | сентябрь 1993 г. | EMM386.EXE | 4.48 |
Windows 3.11 | ноябрь 1993 г. | EMM386.EXE | 4.48 |
Windows для рабочих групп 3.11 | ноябрь 1993 г. | EMM386.EXE | 4.48 |
MS-DOS 6.21 | март 1994 г. | EMM386.EXE | 4.48 |
IBM-ПК DOS 6.3 | апрель 1994 г. | EMM386.EXE | 4.48 |
MS-DOS 6.22 | июнь 1994 г. | EMM386.EXE | 4.49 |
IBM-ПК DOS 7.0 | апрель 1995 г. | EMM386.EXE | 4.50 |
IBM-ПК ДОС 2000 | май 1998 г. | EMM386.EXE | 4.50 |
Windows 95 | август 1995 г. | EMM386.EXE | 4.95 |
Windows 98 | июнь 1998 г. | EMM386.EXE | 4.95 |
См. также
[ редактировать ]- Верхняя область памяти (UMA)
- Расширенная память (XMS)
- Расширенная память (EMS)
- Список команд DOS
Ссылки
[ редактировать ]- ^ «Руководство пользователя Datalight ROM-DOS» (PDF) . www.datalight.com .
- ^ Платт, Роберт; Шпигл, В. (2008) [2003]. «Команда: EMM386» . Архивировано из оригинала 23 августа 2017 г. Проверено 21 октября 2015 г.
- ^ Jump up to: а б Окадзаки, Таку; Шульман, Эндрю (1 сентября 1994 г.). «Глобальный интерфейс импорта EMM Windows» . Журнал доктора Добба . Недокументированный уголок (9). Архивировано из оригинала 23 августа 2017 г. Проверено 21 октября 2015 г. [1] Архивировано 29 мая 2014 г. на archive.today [2] [3]
- ^ Браун, Ральф Д .; Шульман, Эндрю (июль 1994 г.). «QPI: Программный интерфейс QEMM-386» . Журнал доктора Добба . Недокументированный уголок. Сан-Матео, Калифорния: 123–131. Архивировано из оригинала 23 августа 2017 г. Проверено 23 августа 2017 г.
- ^ Леспинасс, Мишель. «Как выгнать диспетчер памяти» . Амьен, Франция: Walken / Impact Studios. Архивировано из оригинала 4 января 2017 г. Проверено 21 октября 2015 г.
- ^ Пол, Матиас Р. (13 августа 2002 г.). «Найти свободную область памяти размером менее 1 МБ, которая не будет перезаписана ОС» (на немецком языке). Группа новостей : de.comp.lang.assembler.x86 . Архивировано из оригинала 4 сентября 2017 г. Проверено 3 сентября 2017 г.
- ^ «Q98768 — Устранение неполадок MS-DOS 6.x и EMM386.EXE» .
- ^ «EMM386 Устранение неполадок и техническая информация (78557)» .
- ^ «EMM386 и ранние версии HIMEM.SYS (74977)» .