Как я могу получить больше памяти с помощью следующей настройки:
Modules using memory below 1 MB:
Name Total = Conventional + Upper Memory
-------- ---------------- ---------------- ----------------
MSDOS 14 317 (14K) 14 317 (14K) 0 (0K)
HIMEM 1 120 (1K) 1 120 (1K) 0 (0K)
EMM386 3 120 (3K) 3 120 (3K) 0 (0K)
OAKCDROM 36 064 (35K) 36 064 (35K) 0 (0K)
POWER 80 (0K) 80 (0K) 0 (0K)
NLSFUNC 2 784 (3K) 2 784 (3K) 0 (0K)
COMMAND 2 928 (3K) 2 928 (3K) 0 (0K)
MSCDEX 15 712 (15K) 15 712 (15K) 0 (0K)
SMARTDRV 30 384 (30K) 13 984 (14K) 16 400 (16K)
KEYB 6 752 (7K) 6 752 (7K) 0 (0K)
MOUSE 17 296 (17K) 17 296 (17K) 0 (0K)
DISPLAY 8 336 (8K) 0 (0K) 8 336 (8K)
SETVER 512 (1K) 0 (0K) 512 (1K)
DOSKEY 4 144 (4K) 0 (0K) 4 144 (4K)
POWER 4 672 (5K) 0 (0K) 4 672 (5K)
Free 552 944 (540K) 539 088 (526K) 13 856 (14K)
Memory Summary:
Type of Memory Total = Used + Free
---------------- ---------- ---------- ----------
Conventional 653 312 114 224 539 088
Upper 47 920 34 064 13 856
Reserved 0 0 0
Extended (XMS)* 64 898 256 2 671 824 62 226 432
---------------- ---------- ---------- ----------
Total memory 65 599 488 2 820 112 62 779 376
Total under 1 MB 701 232 148 288 552 944
Total Expanded (EMS) 33 947 648 (33 152K
Free Expanded (EMS)* 33 538 048 (32 752K
* EMM386 is using XMS memory to simulate EMS memory as needed.
Free EMS memory may change as free XMS memory changes.
Largest executable program size 538 976 (526K)
Largest free upper memory block 7 488 (7K)
MS-DOS is resident in the high memory area.
Я использую MS-DOS 6.22 на виртуальном оборудовании VMWare. Это состояние памяти после MEMMAKER
пройти, так что я ищу оптимизации за пределами MEMMAKER
,
Примечание: драйверы NLS (DISPLAY
, KEYB
, NSLFUNC
) необходимы для меня.
Спасибо @mtone за ценное напоминание о MSCDEX /E
что дало мне 16 КБ памяти ниже (см. diff)!
3 ответа
Попробуйте заменить любой DEVICE=
строки в вашем CONFIG.SYS с DEVICEHIGH=
,
я думаю DOS=HIGH,UMB
как-то помогает, но я забыл, что именно делает. Я думаю, что это перемещает саму DOS в верхнюю область, если это возможно.
Там также LOADHIGH
команда, которую вы можете использовать для MSCDEX
и другие IIR TSR.
Выше может быть неправильно. Прошло не менее 10 лет с тех пор, как я серьезно испортил DOS, но я надеюсь, что это поможет.
Также, если у вас нет программы, которая нуждается SETVER
Вы можете избавиться от этого. Также рассмотрите возможность избавления от DOSKEY
если вам не нужны его улучшения командной строки.
Наконец, если вы освобождаете слишком много обычной памяти и получаете сообщение об ошибке какого-либо типа при запуске программ, используйте LOADFIX
,
Если вам не нужно оставаться с драйверами Microsoft, я предлагаю заменить их альтернативами FreeDOS, которые более гибки и занимают меньше места в памяти.
- ctmouse заменяет мышь
- uide заменяет oakcdrom и smartdrv
- shsucdx заменяет mscdex
Если для MS DOS нет особых требований, простое решение - просто использовать FreeDOS, как уже было предложено Игнасио Васкесом-Абрамсом.
Договорились с использованием лучших драйверов. Я увидел OAKCDROM.SYS и сразу подумал об альтернативах. Я не знал об UIDE, когда исследовал это много лет назад. Но я все же нашел лучшие альтернативы, чем OAKCDROM.SYS: См . Архив программ TOOGAM: Драйверы CD-ROM . CuteMouse также отличная рекомендация. Это может предоставить вам больше свободной памяти и никаких недостатков. Это просто новый и лучший код.
SHSUCDX может сэкономить память, хотя могут иметь некоторые проблемы с CD Audio (по крайней мере, с версией 2.20b, насколько я помню). Если аудио CD хорошо с ним работает, или если это не проблема, используйте его.
Я также согласен с использованием DOS = HIGH, UMB и попыткой использовать DEVICEHIGH. Но использование DEVICEHIGH может занять чуть-чуть верхней памяти, и тогда вам может просто не хватить верхней памяти для чего-то большего. Поэтому, чтобы получить идеальную настройку, может потребоваться тщательный просмотр вещей. Даже не думайте об этом, пока не узнаете, какие драйверы вам нужны.
Затем LH можно использовать для чего угодно из командной строки, включая все, что загружено из AUTOEXEC.BAT.
Избавьтесь от DOSKey: вместо этого используйте 4DOS для замены Command.Com. 4DOS раньше была условно-бесплатной, но теперь есть бесплатная версия, а затем стал доступен исходный код. Я действительно считаю, что 4DOS имеет тенденцию использовать меньше обычной памяти, или, по крайней мере, может быть настроен для этого. Чтобы использовать 4DOS, получите программное обеспечение, а затем попросите CONFIG.SYS обратиться к нему через SHELL, например:
SHELL = C: \ 4DOS \ 4DOS.Com
Также установите COMSPEC:
SET COMSPEC = C: \ 4DOS \ 4DOS.Com
Comspec может быть CONFIG.SYS или AutoExec.bat
Вероятно, избавиться от SETVER: обычно это совершенно не нужно. Это просто заставляет работать некоторое программное обеспечение, вместо того, чтобы программное обеспечение бесполезно жаловалось на версии программного обеспечения. Но программное обеспечение, как правило, не делает этого, если оно не было в комплекте с другой (коммерческой?) Версией DOS.
] [CyberPillar] [: в памяти DOS перечислены некоторые другие параметры, например замена менеджеров памяти. Например: если у вас есть время по-настоящему поиграть с вещами, посмотрите, работает ли UMBPCI в вашей системе. Если так, наслаждайтесь использованием этого вместо EMM386.
В противном случае EMM386 (я думаю, может быть, HIMEM, но я думаю, что EMM) имеет некоторый параметр (HIGHSCAN, если я правильно помню), который может генерировать больше памяти, но замораживает небольшой процент систем. Проверьте онлайн справку для такого параметра; это может привести к тому, что будет найдено и использовано больше памяти.
Что ж, следование всем этим советам будет довольно хорошим началом в любом случае.
Я знаю, что вы ответили на этот вопрос в своем вопросе, но так как эту строку легко пропустить, я быстро укажу, что NLSFunc (национальная функциональность языка клавиатуры) и DISPLAY.SYS (загруженные в CONFIG.SYS) могут быть ненужными, если вы не пытаясь поддерживать неамериканские кодовые страницы. Аналогично для KEYB. Я не знаю, насколько хороша СИЛА.
Не очень верь в MemMaker. Это может помочь. Это может ухудшить ситуацию. Обычно это немного помогает, если используется неоптимизированная система. Возможно, попробуйте еще раз после внесения всех других рекомендуемых изменений, включая резервное копирование файлов CONFIG.SYS и AUTOEXEC.BAT, прежде чем позволить MemMaker взглянуть на систему.
Если вам нужна память для определенного приложения, вы можете создать загрузочное меню, которое позволит вам выбрать драйверы для загрузки. MS-DOS 6.x поддерживал это, используя команды в файле CONFIG.SYS. (См. ПОМОЩЬ для команд "меню".)