Dos Menu | Memory Management | Full screen |
Standard Memory Management (HIMEM.SYS) Extended Memory Management (EMM386.EXE) Types of Memory Computer Memory Limitations Other Information Sources |
When the computer starts, the memory is divided into 2 distinct regions. Although the memory chips have no preference, the original DOS programs were designed to work in an environment up to 640kb (Conventional Memory). Thus, with the increase of the available memory, the Random Access Memory (RAM) above 640kb was defined as "High Memory". As extra memory was available 2 specifications of add on cards were brought to the market, XMS and EMS. Today these are provided by programs that create them out of the existing memory. Different Memory Manager programs are designed to use these different specifications. Because of this variety, computers and DOS do not come with these types of memory enabled as a rule. You have to "turn" them on. NOTE: Total Conventional Memory is normally 655360 bytes. Some programs such as Hard disk Overlays (EZ-BIOS is one) use memory that is not reported by the DOS commands. Some other devices such as SCSI Drives may also use such memory. In that case, running CHKDSK at the prompt will show a Total Conventional Memory of less than 655360 Bytes. Beware that some types of Virus or Worms also can use this memory. Because they are in this Boot Sector (Boot Sector Virus) many Virus Programs will not detect them. See Anti Virus Programs for more about this. See How to Tell If Drive Overlay Program Is Installed in Windows (Q186057), a Microsoft Knowledge Base Article, for more about this.
|
High Memory |
device=c:\path\himem.sys |
You can add parameters to the command. The only one normally added is: |
device=c:\path\himem.sys /testmem:off |
This makes the boot faster if you have a lot of memory installed. |
If you have more than 64mb of RAM Memory installed and are using a computer with Extended Industry Standard Architecture (EISA) bus, adding: |
device=c:\path\himem.sys /EISA |
may let HIMEM.SYS report up to 4gb of memory. See Microsoft Articles: Himem.sys Cannot Address More Than 64 MB of Memory, and HIMEM.SYS Fails to See More than 64 MB on EISA Machine |
With himem.sys loaded, you can move the DOS SYSTEM into the upper memory area. This frees up about 50kb of conventional memory. The syntax for that is: |
dos=high |
To provide space for other devices in high memory you add the syntax: |
dos=umb |
This stands for Upper Memory Blocks. You can combine these to into a single line: |
dos=high,umb |
Once the dos=umb is specified you can load other devices into the high memory region with the: |
devicehigh= |
syntax. Because there is a limited amount of memory here, regardless of how much total RAM you have installed, there is a balancing act to load as many drivers into the high memory as you can. |
Extended MemoryI have used Quarterdeck's QEMM 8.0. It allowed me to run programs under a normal boot that, with DOS EMM386.EXE, would have to run under a special "Vanilla Boot". If you have QEMM installed, backup your AUTOEXEC.BAT and CONFIG.SYS before doing Windows installations or running Microsoft's Memory Maker. Microsoft Deletes QEMM every chance it gets. Using the DOS EMM386.EXE, you include the line: |
device=c:\path\emm386.exe noems |
The NOEMS variable at the end of that line does not allow EMS memory (Expanded Memory) to be provided. If you have programs that require EMS memory, change the line to: |
device=c:\path\emm386.exe ram |
Since most programs use XMS memory, providing EMS may use all free memory reducing the remaining memory available for XMS. There are two methods you can use to limit the amount of memory used for the EMS. |
device=c:\path\emm386.exe 2048 ram |
If you need to have EMS memory, you can specify the size of the EMS by adding the number of Kilobytes. The 2048 would provide 2mb of EMS memory. You can enter an even number. But you may get an error that the memory usage is being adjusted. The number should be in multiples of 512 bytes. If you want to reserve a specified amount for XMS memory and let EMS have all of the rest, use: |
device=c:\path\emm386.exe ram L=10280 |
The l=10280 (bytes in kilobytes) would provide that 10mb be reserved for XMS memory use. Note: the maximum EMS size is 32mb. So if you have a lot of memory, you will not see an effect from this setting until you reserve enough that the EMS usage would make a difference.
See
MS-DOS v6.22 Help: EMM386.EXE from Vernon J Frazee, or type David Smith offered (bottom of thread): |
DEVICE=C:\WINDOWS\EMM386.EXE RAM HIGHSCAN I=B000-B7FF AUTO WIN=B500-B7FF l=1024 |
which he claims to have increased the available Conventional Memory while using the RAM switch. Note that this will not work with all machines. |
Types Of Memory | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
How Memory Works by Dr Ah Clem Memory An article from Transtronics. | ||||||||||||||||||||||||||
parity and memory (Virtual Dr.) Comments by jtmurphy |
Computer Memory Limits | |||||||||||||||
| |||||||||||||||
The number of address lines (or bits) is always the same as the number of processor lines. Each line is capable of an on or off state. Information by dacomputers (Virtual Dr.)
Program Memory LimitsWindows 95b and later can handle most of your memory. But during boot, the HIMEM.SYS is still limited to 64MB. This only affects REAL DOS Mode operations. See the Microsoft article Windows 95 Can Access Up to Two GB of RAM Windows 95, 98 and ME have a problem with memory more than 512mb. This is addressed in the Microsoft article "Out of Memory" Error Messages with Large Amounts of RAM Installed.
|
Other Memory Information Sources: |
Resource Management a nice bit of information on how memory is used and how to make the most of yours. |
Windows Resources vs. Memory from PC911.COM. |
System Resources-GDI and User Resources explained from PCForest. |
Windows 9.x System Resources from InfiniSource. |
MS-DOS v6.22 Help: Command Reference From Vernon J Frazee or type help at the DOS 5.0 to 6.22 prompt. See: Buffers Devicehigh Emm386 Emm386.exe Files HIMEM.SYS Lastdrive Lh Loadhigh Memmaker |
Memory Module Source: The Memory Experts Crucial Technology |
Memory Manager: ATLast! Upper Memory Manager. RYBS Electronics Solutions: Software that fixes DOS, PCMCIA, Windows, and Windows95/98 problems and crashes that last ... ATLast! AtLast is a SUPER memory optimizer and manager. They were the ones that invented the whole upper memory management process to begin with. The developed the LOADHIGH program, and all later upper memory management software, at least through Win98. They, in fact, were the company that licensed their product to all the others that sold and/or supplied memory management software, such as QEMM, RMAX, PowerBoost, RamBoost, and all the others - including Microsoft. Unfortunately, some never developed it properly for their working environment. They not only have a super product, they have SUPER tech support. The program is not cheap - $79.95 - BUT it works totally for organizing and working with all memory issues on a computer system, both in native dos as well as under windows. They have a demo program which fully works but has a time limit built-in, if you wanted to try before you buy. Link Source: rb47 (Ralph) on Virtual Dr. Forum. |
Comment to PoliTalk |