Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

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

© Александр Фролов, Григорий Фролов
Том 4, М.: Диалог-МИФИ, 1993, 236 стр.

[Назад] [Содеожание] [Дальше]

4.2. Практика: Эффективное использование оперативной памяти

Приведём конкретные рекомендации, которые позволят вам максимально задействовать установленную в компьютере оперативную память.

Компьютер IBM PC или IBM XT

Как мы уже говорили раньше, компьютеры этого класса не имеют расширенной памяти. Плата дополнительная памяти покупается отдельно, поэтому в большинстве случаев компьютеры IBM PC или IBM XT не имеют ни расширенной, ни дополнительной памяти.

В этом случае всё что вы можете сделать для увеличения объёма доступной программам оперативной памяти - это сократить до минимума количество используемых драйверов и резидентных программ.

В следующей таблице мы перечислим драйверы, входящие в состав MS-DOS версии 5.0. Пользуясь этой таблицей, вы сможете принять решение о необходимости включения того или иного драйвера в состав вашей конфигурации операционной системы.

Драйвер Назначение драйвера и рекомендации по использованию
EGA SYS Сохранение текущего состояния видеоадаптера EGA. Этот драйвер вам нужен только в том случае, если вы работаете с оболочкой DOSSHELL или WINDOWS и ваш компьютер оснащён видеоадаптером EGA.
COUNTRY SYS Этот драйвер нужен вам только в одном случае - если вы используете интернациональную поддержку, встроенную в MS-DOS, например, работаете с французским или немецким языками. Возможно использование файлов COUNTRY.SYS и EGA.CPI от русифицированной MS-DOS версии 4.01.
DISPLAY SYS Аналогично предыдущему драйверу.
KEYBOARD SYS Аналогично предыдущему драйверу.
PRINTER SYS Аналогично предыдущему драйверу.
HIMEM SYS Драйвер предназначен для управления расширенной памятью. Он бесполезен на тех компьютерах, в которых отсутствует расширенная память. В частности, на компьютерах IBM PC и IBM XT.
ANSI SYS Драйвер обеспечивает расширенное управление консолью. Этот драйвер используется достаточно редко. Подключайте его только в том случае, если он действительно необходим для правильной работы используемых вами программ, о чём можно узнать в документации на эти программы.
RAMDRIVE SYS Этот драйвер предназначен для организации электронного диска в оперативной памяти. Используйте его только в том случае, когда в компьютере имеется расширенная или дополнительная память достаточного объёма. Учтите, что более предпочтительным способом увеличения быстродействия дисковой подсистемы является кэширование дисковой памяти.
SMARTDRV SYS Драйвер используется для организации кэширования дисковой памяти. Его использование оправдано только на тех компьютерах, которые имеют расширенную или дополнительную память.
DRIVER SYS Этот редко используемый драйвер предназначен для поддержки нестандартных или внешних накопителей на флоппи-дисках.
SETVER EXE Драйвер позволяет "обмануть" программы, не рассчитанные на использование MS-DOS версии 5.0. Когда такие программы пытаются определить версию MS-DOS, драйвер SETVER.EXE возвращает заранее оговорённое для каждой программы значение, например, 3.30. Если вы не запускаете программы, рассчитанные на конкретную версию MS-DOS, у вас нет необходимости использовать этот драйвер.
EMM386 EXE Этот драйвер используется для управления расширенной памятью в компьютерах, выполненных на базе процессоров 80386 или 80486. Он совершенно бесполезен, если ваш компьютер содержит процессоры 8086, 8088, NEC20 или 80286.

Компьютер IBM AT с процессором 80286

Первое, что необходимо сделать - перенести ядро операционной системы MS-DOS, её буфера и рабочие области в область адресов, лежащую выше границы 1024 килобайт. Эта возможность появилась в MS-DOS начиная с версии 5.0, поэтому если вы пользуетесь более ранними версиями, сейчас самое время обновить MS-DOS до версии 5.0.

После установки MS-DOS версии 5.0 на компьютере IBM AT файл CONFIG.SYS будет содержать следующие две строки:

DEVICE=C:\DOS\HIMEM.SYS
DOS=HIGH

Первая строка нужна для подключения драйвера HIMEM.SYS, управляющего расширенной памятью. Этот драйвер необходим для размещения MS-DOS выше границы 1024 килобайт.

Вторая строка указывает, что MS-DOS и все её рабочие области должны быть размещены в расширенной памяти.

Как вы можете убедиться сами, для увеличения размера доступной программам оперативной памяти на несколько десятков килобайт вам достаточно сделать две вещи:

  • обновить версию MS-DOS до 5.0;
  • поместить в файл CONFIG.SYS приведенные выше две строки.

Учтите, что эти две строки должны располагаться в файле CONFIG.SYS именно в том порядке, в котором они были приведены выше - вначале необходимо подключить драйвер HIMEM.SYS, а затем указать MS-DOS о необходимости загрузки её ядра и областей данных в старшие адреса памяти строкой DOS=HIGH.

После того, как вы переместили операционную систему в область адресов выше 1024 килобайт, займитесь размещением кэша дисковой подсистемы и электронного диска. Здесь всё зависит от того, сколько и какой памяти установлено в вашем компьютере. Вам необходимо найти компромисс между размером кэша и дополнительной или расширенной памятью, отведённой используемому программному обеспечению. При этом вы можете воспользоваться рекомендациями, приведёнными в главе, посвящённой настройке дисковой подсистемы компьютера.

Компьютеры с процессорами 80386 или 80486

Если вы - обладатель компьютера с процессором 80386 или 80486, вам доступна возможность переноса драйверов и резидентных программ в расширенную память, а также эмуляция дополнительной памяти с использованием расширенной памяти. Конечно, при условии, что вы используете операционную систему MS-DOS версии 5.0!

Для реализации этих возможностей подключите драйвер EMM386.EXE:

device=c:\dos\emm386.exe [параметры]



Эта строка должна располагаться в файле CONFIG.SYS после строки, подключающей драйвер HIMEM.SYS.

В качестве параметра вы можете указать размер эмулируемой дополнительной памяти в килобайтах. Например, если вам нужна дополнительная память размером 1 мегабайт, используйте следующую строку:

device=c:\dos\emm386.exe 1024



Если вы не укажите размер эмулируемой дополнительной памяти, будет использовано значение по умолчанию - 256 килобайт.

Для того, чтобы полностью отключить эмуляцию дополнительной памяти, задайте параметр NOEMS:

device=c:\dos\emm386.exe NOEMS



В этом случае драйвер EMM386.EXE будет использоваться только для загрузки драйверов и резидентных программ в расширенную память.

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

  • подключить драйвер HIMEM.SYS;
  • поместить в файл CONFIG.SYS строку "DOS=HIGH,UMB";
  • для загрузки драйверов вместо оператора "DEVICE=" использовать оператор "DEVICEHIGH=";
  • для загрузки резидентных программ в файле AUTOEXEC.BAT использовать команду LOADHIGH, передав ей в качестве параметра имя и параметры загружаемой резидентной программы.

Для примера приведём образец файла CONFIG.SYS, в котором подключен драйвер EMM386.EXE:

device=c:\dos\himem.sys
device=c:\dos\emm386.exe 2048
dos=high,umb
devicehigh=c:\dos\smartdrv.sys 320
devicehigh=c:\dos\ansi.sys



В первой строке подключается драйвер HIMEM.SYS, необходимый для управления расширенной памятью. Во второй строке подключается драйвер EMM386.EXE, который используется для эмуляции двух мегабайт дополнительной памяти и для загрузки резидентных программ и драйверов в расширенную память. В третьей строке указывается, что MS-DOS должен быть загружён в верхние адреса памяти, и кроме того, что должна быть использована возможность размещения драйверов и резидентных программ в расширенной памяти.

Последние две строки - пример размещения драйверов в расширенной памяти.

Для загрузки в расширенную память резидентных программ воспользуйтесь командой LOADHIGH или LH. Приведём фрагмент файла AUTOEXEC.BAT, в котором используется загрузка резидентных программ в расширенную память:

LOADHIGH c:\cyryllic\cyrkeyb c
LH c:\mouse.com



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

Если вам не нужна эмуляция дополнительной памяти, вы можете увеличить размер области расширенной памяти, доступной для загрузки драйверов и резидантных программ на 64 килобайта. Для этого при подключении драйвера EMM386.exe вам необходимо воспльзоваться параметром /I:

device=c:\dos\emm386.exe noems /Ie000-efff



Из-за ограниченного объёма книги мы не можем рассказать вам о всех возможностях драйвера emm386.exe. Для получения дополнительной информации обратитесь к документации по операционной системе MS-DOS версии 5.0.

[Назад] [Содеожание] [Дальше]