The Hermit Hermit's Free Library  MS-DOS

Using HIMEM.SYS and EMM386.EXE DOS memory management software to conserve conventional memory by loading COMMAND.COM and device drivers into extended memory.

Using HIMEM.SYS and EMM386.EXE

Following is an example of a CONFIG.SYS file using HIMEM.SYS and EMM386.EXE memory management.

The extended memory manager, HIMEM.SYS is loaded first, followed by EMM386.EXE. EMM386.EXE has several purposes:

In this case the NOEMS switch has been used to indicate that no extended memory should be used to emulate expanded memory.

The command dos=high,umb will load a portion of dos into the high memory system and make the Upper Memory Blocks available.

The command deviceHigh=c:\windows\command\ansi.sys loads the ANSI.SYS device driver into the UMB area of memory.

    device=c:\windows\himem.sys
    device=c:\windows\emm386.exe noems
    dos=high,umb
    deviceHigh=c:\windows\command\ansi.sys
    files=200
    buffers=20

The result of these commands can be seen by issuing the following command from the command line:

  mem /c | more

This will give the following screen output. In this case note the areas of memory being used by System and ANSI.SYS.

Modules using memory below 1 MB:

  Name          Total          Conventional     Upper Memory
  -------- ----------------  ----------------  ----------------
  SYSTEM     40,336   (39K)    10,976   (11K)    29,360   (29K)
  HIMEM       1,104    (1K)     1,104    (1K)         0    (0K)
  EMM386      4,320    (4K)     4,320    (4K)         0    (0K)
  DBLBUFF     2,976    (3K)     2,976    (3K)         0    (0K)
  WIN         4,016    (4K)     4,016    (4K)         0    (0K)
  vmm32      52,672   (51K)       640    (1K)    52,032   (51K)
  DOSKEY      4,688    (5K)     4,688    (5K)         0    (0K)
  COMMAND     7,888    (8K)     7,888    (8K)         0    (0K)
  ANSI        4,320    (4K)         0    (0K)     4,320    (4K)
  IFSHLP      2,864    (3K)         0    (0K)     2,864    (3K)
  Free      618,192  (604K)   618,192  (604K)         0    (0K)

Memory Summary:

  Type of Memory       Total         Used          Free
  ----------------  -----------   -----------   -----------
  Conventional          655,360        37,168       618,192
  Upper                  88,576        88,576             0
  Reserved              393,216       393,216             0
  Extended (XMS)     65,971,712             ?   266,424,320
  ----------------  -----------   -----------   -----------
  Total memory       67,108,864             ?   267,042,512

  Total under 1 MB      743,936       125,744       618,192

Largest executable program size         618,176   (604K)
Largest free upper memory block               0     (0K)
MS-DOS is resident in the high memory area.