DOS memory managers — enabling Upper Memory Blocks (UMBs): Which CONFIG.SYS directive allows device drivers and TSR programs to be loaded into Upper Memory Blocks (so they can later be placed there using DEVICEHIGH or LOADHIGH)?

Difficulty: Medium

Correct Answer: DOS=UMB

Explanation:


Introduction / Context:
Conventional memory (first 640 KB) is precious in DOS. To free more conventional memory, we load eligible drivers and TSRs into Upper Memory Blocks (UMBs) in the upper memory area. This requires both enabling UMBs and then placing programs there with the right commands.



Given Data / Assumptions:

  • We are editing CONFIG.SYS and AUTOEXEC.BAT in a DOS environment.
  • We want the system to allow usage of UMBs.
  • We will subsequently use DEVICEHIGH and/or LOADHIGH to place items into UMB.


Concept / Approach:

The enabling step is DOS=UMB in CONFIG.SYS (with HIMEM.SYS and an upper memory manager such as EMM386.EXE /UMB). After UMBs are enabled, DEVICEHIGH= loads device drivers high, and LOADHIGH (or LH) loads TSRs high. Without DOS=UMB, attempts to use DEVICEHIGH/LOADHIGH may not allocate into UMBs.



Step-by-Step Solution:

Enable memory management: load HIMEM.SYS, then EMM386.EXE /UMB (where applicable).Activate UMBs: add DOS=UMB to CONFIG.SYS so DOS manages and exposes UMBs.Place components high: use DEVICEHIGH=driver.sys in CONFIG.SYS and LOADHIGH prog.exe in AUTOEXEC.BAT.Verify with MEM /C /P to confirm programs are resident in upper memory.


Verification / Alternative check:

Classic DOS optimization guides show that the trio HIMEM.SYS, EMM386.EXE /UMB, and DOS=UMB enable UMB usage; only then do DEVICEHIGH and LOADHIGH accomplish loading high.



Why Other Options Are Wrong:

  • DOS=HIGH: moves DOS kernel into the HMA, not UMB enabling.
  • DEVICEHIGH and LOADHIGH: these perform the loading but require UMBs to be enabled first; they do not themselves enable UMBs.
  • None of the above: incorrect because DOS=UMB is correct.


Common Pitfalls:

Using LOADHIGH without first enabling UMBs; forgetting EMM386.EXE /UMB; confusing HMA (via DOS=HIGH) with UMBs. Always confirm memory map with MEM or MSD.


Final Answer:

DOS=UMB

More Questions from Disk Operating System (DOS)

Discussion & Comments

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