Difficulty: Easy
Correct Answer: First 64k above conventional
Explanation:
Introduction / Context:
The DOS memory model divides early PC memory into conventional memory (first 640 KB), the Upper Memory Area (UMA, 640–1024 KB), and memory beyond 1 MB known as extended memory. The High Memory Area (HMA) is a special 64 KB window just above the 1 MB boundary that DOS can access in real mode with the help of the A20 line. Understanding where HMA sits is fundamental to legacy OS optimization and memory managers.
Given Data / Assumptions:
Concept / Approach:
By default, real mode addressing wraps at 1 MB because of the 20 address lines. Enabling the A20 line allows access to addresses just above 1 MB. This creates the HMA, the first 64 KB (minus 16 bytes due to segment offset nuances) above the 1 MB mark. DOS 5.0 and later can load parts of DOS into HMA via the DOS=HIGH directive to free conventional memory for applications.
Step-by-Step Solution:
Verification / Alternative check:
Technical references and DOS manuals describe HMA as a 64 KB region beginning at physical address 1,048,576 bytes, used by DOS=HIGH and HIMEM.SYS. It is neither the last 64 KB of conventional nor the last 64 KB of extended in general; it is a distinct gateway region immediately above 1 MB.
Why Other Options Are Wrong:
Common Pitfalls:
Confusing HMA with UMA or EMS; assuming HMA equals “any” part of extended memory. HMA is special because it remains accessible in real mode with A20 enabled, unlike general extended memory which typically needs protected mode or special managers.
Final Answer:
First 64k above conventional
Discussion & Comments