Разработчик(и) | Compaq |
---|---|
Первоначальный выпуск | Сентябрь 1986 г ( 1986-09 ) |
Операционная система | Compaq DOS |
Платформа | Интел 80386 |
Тип | Расширенный менеджер памяти |
CEMM ( Compaq Expanded Memory Manager) был первым так называемым « менеджером памяти » ПК для процессоров Intel 80386 , способным обеспечить эмуляцию расширенной памяти (EMS) с использованием функций виртуальной памяти и виртуального режима 8086 процессора.
Он присутствовал в Compaq DOS 3.10, поставляемой с Compaq Deskpro 386 в сентябре 1986 года. [1] [2]
В 1986 году компания Compaq стала первым поставщиком, выпустившим совместимый с ПК компьютер с процессором 386 — Deskpro 386. Для них было естественным разработать решения, использующие особые возможности их нового оборудования и в данном случае позволяющие существующим EMS-совместимым программам DOS получать доступ ко всей памяти.
Реализация не была лишена недостатков. Хотя CEMM назывался «диспетчером расширенной памяти», на самом деле это было крошечное ядро операционной системы с защищенным режимом , также называемое монитором виртуальной машины (VMM). Оно должно было перехватывать все прерывания и исключения и отражать их в виртуальной машине, где работал DOS. Это немного замедляло машину, увеличивало задержку прерываний и изменяло поведение программ DOS, пытающихся выполнить недопустимые машинные инструкции. Реализация VMM не была смыслом существования CEMM, но эмуляция EMS требовала подкачки, а подкачка требовала защищенного режима. Таким образом, единственным способом запустить существующий код DOS и BIOS в реальном режиме был VMM.
Поскольку CEMM переводил ЦП в защищенный режим, другие программы ( расширители DOS ) больше не могли делать этого самостоятельно. Для запуска программ-расширителей DOS пришлось разработать специальный API, VCPI . Первой CEMM, совместимой с VCPI, была версия 4.0, поставляемая с Compaq DOS 4.01.
Compaq подала заявку на патент на эту технологию в 1987 году. Патент был выдан в 1990 году и, вероятно, истек в 2007 году. Compaq была создателем этой технологии и первой компанией, которая ее использовала. Однако со временем QEMM и 386 MAX стали стандартными пакетами. Windows/386 и более поздние версии содержали встроенный расширенный менеджер памяти ( EMM386 ), доступный во время сеансов Windows и используемый для запуска нескольких виртуальных машин DOS. MS-DOS 4.01 (в 1989 году) и DR-DOS 5.0 (в 1990 году) популяризировали технологию за пределами контекста Windows. Реализация EMM386 от Microsoft была основана на CEMM.