In the dark old days before the Intel 80286 processor, 640K was all the memory that could be used by a program.

Then Lotus, Intel and Microsoft created a standard called LIM EMS specification that allowed DOS developers to utilize upto 16 MB of memory from special RAM expansion cards.

All that became history with the introduction of the 80286 processor with its protected mode which could directly address 16MB of RAM. However DOS programs running in real mode were still subject to the same 640K limit.

The HIMEM.SYS device driver gave an interface called XMA for DOS programs to access memory beyond the conventional memory limit. Indeed Windows 3.1 / 95 / 98 require HIMEM.SYS in order to start up, until they take over the memory management themselves.

There exists a program called XMSMMGR.EXE ( found in Windows 95 / 98 installation CDs ) which can load extended memory services after the system has booted into the command prompt. This is how the installation program manages to start up even if HIMEM.SYS is not loaded.

Interestingly, Disney's series of games for DOS Lion King, Alladin and Jungle book required EMS memory. Although EMS memory cards are obsolete, Since Version 5, DOS has had a utility EMM386.EXE that simulated EMS memory for legacy programs.