High Memory Area (HMA)

What is High Memory Area (HMA)?

High Memory Area, or HMA, refers to the initial 64 KB or 65,520 bytes of the extended memory from the 1024 KB to 1088 KB of the memory space that can be accessed by the operating system.

Understanding High Memory Area (HMA)

What is High Memory Area (HMA)

High Memory Area is the specific region in the memory of a computer that usually ranges between 640 KB and 1024 KB. It is represented as A0000 through 100000 in hex.

The High Memory Area is typically used to move programs from traditional memory into it. This helps the computer to have more traditional memory available for its operational needs.

Codes can also be executed in the High Memory Area but there are a couple of specific requirements for it, such as:

However, before the data or the code in the High Memory Area is addressed by the Central Processing Unit (CPU), the driver relevant to each needs to confirm that the matching HMA is recorded in it.

This means that addressing HMA or any such requests made, will need to be channeled through a leftover stub outside the High Memory Area in the computer memory.

This will typically result in invoking the handler so that the gate is enabled temporarily.

Considering the Microsoft products, the High Memory Area feature was used for the first time in the Windows/286 2.1 in 1988. It introduced a specific device driver, called the HIMEM.SYS, to manage this area.

Over time, in the later versions, such as 5.0 of DR-DOS in 1990 and of MS-DOS in 1991, HMA also allowed loading a part of the operating system into it as well. This helped in freeing as much as up to 46 KB of space in the traditional memory.

If you use the right kind of software, you can also load different other things into this particular area, such as:

In this specific area, typically device driver buffer spaces are also allocated along with the shared system memory.


So, after going through this article, you are now well aware of what High Memory Area in the memory of your computer system actually means and what specific types of uses you can put it to.