Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Can anybody explain to me the basics of DOS memory management. I am using DOS 6.2. There are some memory managers such as HIMEM and MEMMAKER already in DOS but I don't know what to use them for. Can you also explain abou what extended and expanded memory are because I am quite confused with all of this...
Thanks

Extensive topic, brief answers:
HIMEM.SYS & EMM386.exe are the main memory management software for MS-DOS 6.22
Himem is the extended memory manager, allows DOS to be loaded 'high' to conserve 'low' (640K conventional) memory
Emm386 aka the 'expanded memory manager' allows programs to be loaded (well, sort of) into 'upper' memory (UMA), again saving conventional mem.
Expanded memory is an old type of memory, emm386 can emulate this if necessary, but it's unlikely you'd ever need it unless you're running some pretty old apps or games.
It's been replaced by Extended memory.
Typical setup for memory management would be in config.sys
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.exe NOEMS
DOS=HIGH,UMB(himem must be loaded before emm386)
Memmaker is not a memory manager, it's a tool to optimize the way programs are loaded into upper memory.
A brief intro & history here - lots more info on the 'net
Also, check out the DOS6xx 'HELP' system - quite a bit there as well.
DOS: Learn it Love it Live it

thanks for the info.
I am using DOS mainly for games (prince of persia, etc) and qbasic...
which one of the programs you mentioned should I use then?

DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.exe NOEMS
DOS=HIGH,UMBset that as the first 3 lines of your config.sys and you'll be setup for basic memory management. What that does is maximise the amount of conventional memory available for typical DOS programs - some of those need 540-600 of the 640K that you start with - should have documentation or a help guide for the game to list what it requires.
As well, that setup allows you to make use of DEVICEHIGH in config.sys and lh (LOADHIGH) in autoexec.bat which allows DOS drivers and devices to load in upper memory, again, freeing up as much conventional memory as possible. You could run memmaker and let it try and find the best configuration.
Also bear in mind that some DOS games (DooM for instance) can manage extended memory on their own - sometimes emm386 won't be compatible - again, check your documentation.
If a game requires EMS memory (expanded) then you could change the one line to read
DEVICE=C:\DOS\EMM386.exe RAMIf you have qbasic then you have access to the wonderfully informative DOS Help program - should be able to enter HELP for information on just about any DOS command & its parameters.
When DOS 'ruled' you had to know all this stuff, today Windows does its own memory management (DOS games under Windows can be another story)
DOS: Learn it Love it Live it

Ok, I will do that.
But i am not sure how to edit thee config.sys file since I do not have an "unformatted text editor" which I think you need to change the file's parameters...
or is there a way I can change it quickly through Dos?
sorry bout all of this - i'm not used to using dos for a very long time...
thanks

DOS6 Edit (edit.com) should do the trick - it's alright - the version that comes with Win95 or 98 is a bit nicer.

Yes - opening them with any plain text editor (such as DOS Edit) doesn't alter the files unless you make changes AND save those changes.
Nevertheless, it's always a good idea to create backup copies just in case (accidents happen)
DOS: Learn it Love it Live it

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |