We all know that DOS cannot rely entirely on the human-computer interface to complete the system configuration step by step. To make the system perform at its best, we must rely on our further efforts. The following is a description of the configuration method of DOS memory.
Real-mode DOS usually can only use less than 1M memory space. The basic memory is 640K, while the upper memory requires the corresponding memory manager. Basic memory management is particularly important because improper use will cause some programs to fail to run. So, how should we optimize it? Here are some suggestions.
First, load the memory manager that provides upper memory (UMB). There are usually EMM386 and QEMM, but these tools occupy a large amount of memory themselves. Here we recommend UMBPCI, a tool that is still developing, can provide up to 162K UMB, and it will not occupy basic memory at all if placed before HIMEM. Then, tune all the device drivers/TSR into UMB (using DEVICEHIGH, LOADHIGH, etc.), so that even if many drivers are loaded (such as optical drives, mouse, etc.), the remaining basic memory will still be high, even 630K. It should be noted that you should try to use a driver that takes up less memory so that the most UMB is freed.
The following is the memory status information displayed on my computer (MS-DOS 7.10):
Modules using memory below 1 MB:
Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 32,736 (32K) 9,664 (9K) 23,072 (23K)
HIMEM 1,168 (1K) 0 (0K) 1,168 (1K)
SETVER 864 (1K) 0 (0K) 864 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
CLOAKING 1,168 (1K) 0 (0K) 1,168 (1K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)
COMMAND 7,424 (7K) 0 (0K) 7,424 (7K)
KILLER 400 (0K) 0 (0K) 400 (0K)
WATCH 3,392 (3K) 0 (0K) 3,392 (3K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
DOSKEY 5,744 (6K) 0 (0K) 5,744 (6K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
ZENO 1,376 (1K) 0 (0K) 1,376 (1K)
ESCAPE 496 (0K) 0 (0K) 496 (0K)
Free 750,080 (732K) 645,328 (630K) 104,752 (102K)
Memory Summary:
Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 10,032 645,328
Upper 163,904 59,152 104,752
Reserved 393,216 393,216 0
Extended (XMS) 49,119,168 82,880 49,036,288
---------------- ----------- ----------- -----------
Total memory 50,331,648 545,280 49,786,368
Total under 1 MB 819,264 69,184 750,080
Largest executable program size 645,312 (630K)
Largest free upper memory block 103,952 (102K)
Available space in High Memory Area 5,360 (5K)
MS-DOS is resident in the high memory area.
As can be seen from the above table, I loaded the following memory resident program and driver:
HIMEM: The XMS driver that comes with DOS.
SETVER: DOS version table program.
VIDE-CDD: Universal optical drive driver. If your optical drive is USB, use DUSE.
CLOAKING: Memory CLOAKING API and DPMS driver to save MSCDEX's memory footprint.
IFSHLP: 32-bit disk service program, used in Windows 9x, can not be loaded.
COMMAND: DOS command processor.
KILLER: Automatically intercept incorrect instructions to prevent crashes.
WATCH: One of TSR Utils, the DISABLE command uses it to disable the functions of other TSR programs.
MSCDEX: The MSCDEX used in conjunction with the CLOAKING program only accounts for less than 3K of memory, otherwise it will account for about 30K.
DOSKEY: DOS comes with keyboard buffering and history programs.
CTMOUSE: A common mouse driver under DOS, which takes up little memory and is also very fast.
ZENO: Display the acceleration program.
ESCAPE: You can press F12 to return to DOS mode at any time to prevent crashes.
Of course, I also loaded a lot of non-memory resident programs. If you want to know the specific settings in my file, you can see the "File Commands and Configuration" below.
Real-mode DOS usually can only use less than 1M memory space. The basic memory is 640K, while the upper memory requires the corresponding memory manager. Basic memory management is particularly important because improper use will cause some programs to fail to run. So, how should we optimize it? Here are some suggestions.
First, load the memory manager that provides upper memory (UMB). There are usually EMM386 and QEMM, but these tools occupy a large amount of memory themselves. Here we recommend UMBPCI, a tool that is still developing, can provide up to 162K UMB, and it will not occupy basic memory at all if placed before HIMEM. Then, tune all the device drivers/TSR into UMB (using DEVICEHIGH, LOADHIGH, etc.), so that even if many drivers are loaded (such as optical drives, mouse, etc.), the remaining basic memory will still be high, even 630K. It should be noted that you should try to use a driver that takes up less memory so that the most UMB is freed.
The following is the memory status information displayed on my computer (MS-DOS 7.10):
Modules using memory below 1 MB:
Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 32,736 (32K) 9,664 (9K) 23,072 (23K)
HIMEM 1,168 (1K) 0 (0K) 1,168 (1K)
SETVER 864 (1K) 0 (0K) 864 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
CLOAKING 1,168 (1K) 0 (0K) 1,168 (1K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)
COMMAND 7,424 (7K) 0 (0K) 7,424 (7K)
KILLER 400 (0K) 0 (0K) 400 (0K)
WATCH 3,392 (3K) 0 (0K) 3,392 (3K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
DOSKEY 5,744 (6K) 0 (0K) 5,744 (6K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
ZENO 1,376 (1K) 0 (0K) 1,376 (1K)
ESCAPE 496 (0K) 0 (0K) 496 (0K)
Free 750,080 (732K) 645,328 (630K) 104,752 (102K)
Memory Summary:
Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 10,032 645,328
Upper 163,904 59,152 104,752
Reserved 393,216 393,216 0
Extended (XMS) 49,119,168 82,880 49,036,288
---------------- ----------- ----------- -----------
Total memory 50,331,648 545,280 49,786,368
Total under 1 MB 819,264 69,184 750,080
Largest executable program size 645,312 (630K)
Largest free upper memory block 103,952 (102K)
Available space in High Memory Area 5,360 (5K)
MS-DOS is resident in the high memory area.
As can be seen from the above table, I loaded the following memory resident program and driver:
HIMEM: The XMS driver that comes with DOS.
SETVER: DOS version table program.
VIDE-CDD: Universal optical drive driver. If your optical drive is USB, use DUSE.
CLOAKING: Memory CLOAKING API and DPMS driver to save MSCDEX's memory footprint.
IFSHLP: 32-bit disk service program, used in Windows 9x, can not be loaded.
COMMAND: DOS command processor.
KILLER: Automatically intercept incorrect instructions to prevent crashes.
WATCH: One of TSR Utils, the DISABLE command uses it to disable the functions of other TSR programs.
MSCDEX: The MSCDEX used in conjunction with the CLOAKING program only accounts for less than 3K of memory, otherwise it will account for about 30K.
DOSKEY: DOS comes with keyboard buffering and history programs.
CTMOUSE: A common mouse driver under DOS, which takes up little memory and is also very fast.
ZENO: Display the acceleration program.
ESCAPE: You can press F12 to return to DOS mode at any time to prevent crashes.
Of course, I also loaded a lot of non-memory resident programs. If you want to know the specific settings in my file, you can see the "File Commands and Configuration" below.