Тонкая настройка и оптимизация MS-DOS

Приведём таблицу некоторых, самых важных


Приведём таблицу некоторых, самых важных на наш взгляд, параметров драйвера QEMM.SYS:



RAM Этот параметр указывается в тех случаях, когда необходимо выполнить отображение расширенной памяти на свободные участки зарезервированной памяти. Используйте этот параметр, если вы решили переместить драйверы и резидентные программы в расширенную память.
ROM Параметр указывает на то, что содержимое BIOS должно быть скопировано в расширенную память. Используется для увеличения скорости выполнения программ, активно использующих BIOS.
NOEMS Если задан этот параметр, драйвер QEMM.SYS не будет выполнять эмуляцию дополнительной памяти. В этом случае освобождается дополнительно 64 килобайта зарезервированной памяти, в которой могут разместиться драйверы и резидентные программы. Вам следует указать этот параметр в том случае, если ни одна из используемых вами программ не нуждается в дополнительной памяти.
Всего же драйверу QEMM.SYS можно указывать десятки параметров, с помощью которых можно выполнить тонкую настройку драйвера практически для любой конфигурации программных и аппаратных средств. Мы научим вас использовать только основные возможности драйвера QEMM.SYS, остальные сведения вы сможете найти в документации на драйвер.

Начните с того, что поместите в самое начало файла CONFIG.SYS следующую строку:

device=c:\qemm\qemm.sys RAM NOEMS

В этом случае драйвер QEMM.SYS будет использоваться только для управления областью старшей памяти HMA и размещения драйверов и резидентных программ в расширенной памяти. Эмуляция дополнительной памяти выполняться не будет.

Далее запустите программу QEMM.COM, которая находится в каталоге QEMM и входит в состав дистрибутивной дискеты. Эта программа нужна для правильной настройки параметров драйвера QEMM-386.

После запуска программа QEMM.COM выведет на экран карту использования оперативной памяти:

Current Mode = ON Expanded Memory Available = 0K Page Frame Address = None

Expanded memory is being used.

г===================================¬ ¦ Area Size Status ¦ ¦ 0000 - 0FFF 64K Excluded ¦ ¦ 1000 - 9FFF 576K Mappable ¦ ¦ A000 - AFFF 64K Video ¦ ¦ B000 - B7FF 32K High RAM ¦ ¦ B800 - BFFF 32K Video ¦ ¦ C000 - C7FF 32K ROM ¦ ¦ C800 - C9FF 8K High RAM ¦ ¦ CA00 - CAFF 4K ROM ¦ ¦ CB00 - CBFF 4K Split ROM ¦ ¦ CC00 - CFFF 16K Adapter RAM ¦ ¦ D000 - EFFF 128K High RAM ¦ ¦ F000 - F7FF 32K ROM ¦ ¦ F800 - F8FF 4K Mapped ROM ¦ ¦ F900 - FFFF 28K ROM ¦ L===================================-



Области памяти, отмеченные как "High RAM", доступны для размещения в них драйверов и резидентных программ. Оказывается, у вас есть 168 килобайт памяти для драйверов и резидентных программ!

Теперь о том, как же эту память использовать. Запустите другую программу, входящую в состав пакета QEMM-386 - программу LOADHI.COM. На экран будет выведена таблица областей зарезервированной памяти, доступных для загрузки драйверов и резидентных программ:

г=============================================¬ ¦ Region Area Size Status ¦ ¦ 1 B001 - B7FD 31K Available ¦ ¦ 2 C801 - C9FD 7.7K Available ¦ ¦ 3 D001 - EFFF 133K Available ¦ L=============================================-

В данном случае имеется три доступные области с номерами 1, 2 и 3. Эти области имеют размер, соответственно, 31, 7.7 и 133 килобайта.

Для загрузки драйверов в одну из областей используйте драйвер LOADHI.SYS, указав ему в качестве параметра путь загружаемого драйвера и параметры этого драйвера, например:

device=c:\qemm\loadhi.sys c:\dos\ansi.sys

Для загрузки в расширенную память резидентных программ используйте программу LOADHI.COM. Для этого расположите её в файле AUTOEXEC.BAT и укажите ей путь загружаемой резидентной программы и её параметры:

c:\qemm\loadhi cyrkeyb c

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

После запуска программы OPTIMIZE запустите программу LOADHI ещё раз. Вы увидите, что драйверы и резидентные программы разместились в разных областях зарезервированной памяти:

г=============================================¬ ¦ Region Area Size Status ¦ ¦ 1 B001 - B207 8.1K Used (DISPLAY) ¦ ¦ 1 B208 - B30E 4.1K Used (ANSI) ¦ ¦ 1 B30F - B370 1.5K Available ¦ ¦ 1 B371 - B57A 8.1K Used (EP) ¦ ¦ 1 B57B - B7FD 10K Available ¦ ¦ 2 C801 - C848 1.1K Used (RAMDRIVE) ¦ ¦ 2 C849 - C8AD 1.5K Used (SJDRIVER) ¦ ¦ 2 C8AE - C8F3 1K Used (SWAKEYB) ¦ ¦ 2 C8F4 - C9FD 4.1K Available ¦ ¦ 3 D001 - DBE7 47K Used (STACKER) ¦ ¦ 3 DBE8 - E78F 46K Used (DISKREET) ¦ ¦ 3 E790 - E7A1 0.2K Available ¦ ¦ 3 E7A2 - EB4A 14K Used (MOUSE) ¦ ¦ 3 EB4B - EFFF 18K Available ¦ L=============================================-



Во всех областях имеется свободное пространство, в которое можно загрузить драйверы или резидентные программы (свободные области отмечены словом Available).

Для оптимального использования свободных областей зарезервированной памяти вы должны знать, сколько памяти требует каждый используемый вами драйвер или резидентная программа. Как это определить?

Запустите программу MFT.COM, которая находится в каталоге QEMM. С её помощью вы можете определить размер памяти, нужный для резидентных программ и драйверов. Выберите из меню "First Meg" слово "Programs". На экран будет выведен список всех загруженных программ с указанием в столбце Size требуемой для них памяти:



Аналогично для драйверов выберите из меню "DOS" слово "DRIVERS". На экран будет выведен список всех загруженных драйверов с указанием в столбце Size требуемой для них памяти:



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

Программа LOADHI и драйвер LOADHI.SYS допускают явное указание номера области, в которую необходимо загрузить, соответственно, резидентную программу и драйвер. Номер области указывается с помощью параметра /r:.

Например, для загрузки драйвера мыши в область с номером 3 в файле AUTOEXEC.BAT используйте такую строку:

c:\qemm\loadhi /r:3 c:\mouse\mouse

Аналогично для загрузки драйвера ANSI.SYS в первую область в файл CONFIG.SYS необходимо поместить следующую строку:

device=c:\qemm\loadhi.sys /r:1 c:\dos\ansi.sys

Программа OPTIMIZE сама определяет требуемый для используемых резидентных программ и драйверов размер оперативной памяти и сама располагает их оптимальным способом в имеющихся свободных областях. При этом для указания номера области она использует параметр /r:.


Содержание раздела