MS-DOS memory management: Which DOS component is used to emulate Expanded Memory (EMS) on 80386-class PCs by mapping extended memory into EMS pages?

Difficulty: Easy

Correct Answer: EMM386.exe

Explanation:


Introduction / Context:
Classic DOS software sometimes requires Expanded Memory Specification (EMS). On 80386 and later CPUs, EMS can be emulated using protected-mode paging to map extended memory into a 64 KB page frame in conventional memory space.



Given Data / Assumptions:

  • System running MS-DOS 5/6 era.
  • Hardware supports 80386 or later with paging.
  • Need EMS for older applications or drivers.


Concept / Approach:

EMM386.exe is the memory manager that uses the 80386's virtual 8086 mode and paging to simulate EMS from extended memory (XMS). It cooperates with Himem.sys (XMS driver) to allocate extended RAM and create EMS pages.



Step-by-Step Solution:

Load Himem.sys to access XMS.Load EMM386.exe with appropriate switches (e.g., EMM386 RAM) to create EMS and UMBs.Legacy programs access EMS via INT 67h through the page frame.


Verification / Alternative check:

MEM /C in DOS shows EMS status. Applications detect available EMS and run accordingly. Removing EMM386 removes EMS emulation while Himem.sys alone provides only XMS.



Why Other Options Are Wrong:

  • Himem.sys: Manages extended memory (XMS), not EMS emulation.
  • Mem386.sys: Not a standard DOS memory manager.
  • Ramdrive.sys: Creates a RAM disk; unrelated to EMS.
  • None of the above: Incorrect because EMM386.exe is correct.


Common Pitfalls:

Confusing EMS and XMS; enabling EMS can reduce available upper memory if not configured carefully; some protected-mode games prefer XMS only.



Final Answer:

EMM386.exe

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion