7
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 ответа3

8

Попробуйте заменить любые строки DEVICE= в вашем файле CONFIG.SYS на DEVICEHIGH= .

Я думаю, что DOS=HIGH,UMB как-то помогает, но я забыл, что именно он делает. Я думаю, что это перемещает саму DOS в верхнюю область, если это возможно.

Также есть команда LOADHIGH вы можете использовать для MSCDEX и других IIRC TSR.

Выше может быть неправильно. Прошло не менее 10 лет с тех пор, как я серьезно испортил DOS, но я надеюсь, что это поможет.

Также, если у вас нет программы, которая нуждается в SETVER вы можете от нее избавиться. Также подумайте о том, чтобы избавиться от DOSKEY если вам не нужны улучшения в командной строке.

Наконец, если вы освобождаете слишком много обычной памяти и получаете сообщение об ошибке какого-либо типа при запуске программ, используйте LOADFIX .

2

Если вам не нужно оставаться с драйверами Microsoft, я предлагаю заменить их альтернативами FreeDOS, которые более гибки и занимают меньше места в памяти.

  • ctmouse заменяет мышь
  • uide заменяет oakcdrom и smartdrv
  • shsucdx заменяет mscdex

Если для MS DOS нет особых требований, простое решение - просто использовать FreeDOS, как уже предлагал Игнасио Васкес-Абрамс.

0

Договорились с использованием лучших драйверов. Я увидел 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. (См. ПОМОЩЬ для команд "меню".)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .