CEMM

CEMM

CEMM, for Compaq Expanded Memory Manager was probably the first so-called PC "memory manager" for Intel 80386 CPUs, able to transform extended memory into "EMS" expanded memory by using the virtual memory features and the virtual 8086 mode of the CPU.

It was present in Compaq DOS 3.31, in 1988 or before.

Together with IBM, Compaq was the first vendor to propose computers based on the 386 CPU and it was natural for them to develop solutions leveraging the specific features of their new hardware and in this case allowing existing EMS-compatible DOS programs to access all the memory.

Alas, interesting features often come with less interesting drawbacks. Although CEMM was called an "expanded memory manager", it was really a tiny, protected mode, single tasking operating system kernel, also called a virtual machine monitor. It had to catch all the interrupts and all the exceptions, and to "reflect" them to the virtual machine where DOS ran. This slowed the machine down a little, increased the latency of interrupts and changed the behavior of DOS programs trying to execute invalid machine instructions.

Because CEMM put the CPU into protected mode, other programs ("DOS extenders") could not do this anymore by themselves. A special API, the VCPI, had to be developed to allow running DOS extender programs. The first CEMM compatible with VCPI was 4.0, provided with Compaq DOS 4.01.

Compaq has a 1987 patent on the technology, and they were probably the creators and the first company to use it. However, over time, QEMM and 386MAX became the standard packages. Windows/386 2.1 and later releases contained a built-in expanded memory manager (EMM386) available during Windows sessions and otherwise used for running "multiple" DOS virtual machines. MS-DOS 4.01 (in 1989) and DR-DOS 5.0 (in 1990) officialized the technology outside of the Windows context.

See also

* QEMM
* EMM386
* Unreal mode
* Real mode
* Protected mode
* Conventional memory
* Extended memory (XMS)
* Expanded memory (EMS)
* High Memory Area (HMA)
* Upper Memory Area (UMA)

External links

*US patent|4926322 - "Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management"


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • CEMM — Chef d état major de la Marine En France, le chef d état major de la Marine (CEMM) est responsable devant le ministre de la Défense de la préparation de la Marine nationale en vue de sa mise en œuvre. Il assiste, en tant qu expert naval : le …   Wikipédia en Français

  • CEMM — Compaq Expand Memory Manager …   Acronyms

  • CEMM — Compaq Expand Memory Manager …   Acronyms von A bis Z

  • cemm — (A.) [ ﻢﺝ ] kalabalık …   Osmanli Türkçesİ sözlüğü

  • CEMM — Çokluk. Mecmu. * Kuyuda biriken su. * Hırs ve tama ile mal biriktirmek …   Yeni Lügat Türkçe Sözlük

  • CEMM-İ GAFİR — Büyük cemâat, insan kalabalığı. Ekseriyet. * Muhâfızlar …   Yeni Lügat Türkçe Sözlük

  • Chef d'état-major de la marine — En France, le chef d état major de la marine (CEMM) est responsable devant le ministre de la Défense de la préparation de la marine nationale en vue de sa mise en œuvre. Il assiste, en tant qu expert naval : le chef d État Major des armées… …   Wikipédia en Français

  • Расширитель DOS — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей. Расширитель …   Википедия

  • Giulio Superti-Furga — (* 17. Mai 1962 in Mailand) ist ein italienischer Molekular und Systembiologe, ansässig in Wien, Österreich. Giulio Superti Furga ist Wissenschaftlicher Direktor des Forschungszentrums für Molekulare Medizin (CeMM) der Österreichischen Akademie… …   Deutsch Wikipedia

  • Chief of Staff of the French Navy — Admiral Pierre François Forissier, CEMM The Chief of the Staff of the French Navy (French: Chef d État Major de la Marine, CEMM) is the head of the French Navy and responsible to the Minister of Defence for its preparation and deployment. As a… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”