HIMEM is an extended-memory manager--a program that coordinates the use of
the computer's extended memory, including the high memory area (HMA), so
that no two applications or device drivers use the same memory at the same
time.
EMM386.EXE provides access to the upper memory area and uses extended memory to simulate expanded memory. This device driver must be loaded by a <DEVICE> command in your CONFIG.SYS file and can be used only on computers with an 80386 or higher processor.
EMM386 uses extended memory to simulate expanded memory for very old programs that
can use expanded memory. EMM386 also makes it possible to load programs and
device drivers into upper memory blocks (UMBs).