Как я могу получить больше памяти с помощью следующей настройки:

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. (См. ПОМОЩЬ для команд "меню".)

Другие вопросы по тегам