Внешние системные драйверы устройств

5.10.3. Внешние системные драйверы устройств

 

В комплекте DOS содержатся следующие внешние драйверы каждый из которых может быть подключен к системе командой конфигурирования DEVICE=:

ANSI.SYS                  — обеспечивает возможности расширенного управления устройством CON, (клавиатурой и дисплеем);

DISPLAY.SYS           — поддерживает переключение кодовых страниц для дисплея;

DRIVER.SYS             — создает новый логический дисковод;

EMM386.SYS           — эмулирует отображаемую память в расширенной памяти ПЭВМ на базе МП 80386 или 80486;

HIMEM.SYS            — управляет расширенной памятью в соответствии со спецификацией XMS 2.0 и НМА - памятью. Имеется в DOS, только начиная с версии 4.0;

PRINTER.SYS       — поддерживает переключение кодовых страниц для принтера;

VDISK.SYS — создает виртуальные диски (в MS-DOS, имеет имя RAMDRIVE.SYS);

SMARTDRV.SYS — создает в дополнительной памяти кэш по чтению для обмена информацией с НЖМД (имеется в DOS, только начиная с версии 4.0). В PC DOS именуется как IBMCACHE.SYS;

XMA2EMS.SYS — управляет отображаемой памятью в соответствии со спецификацией LIM EMS 4.0. Поддерживается DOS, только начиная с версии 4.0;

XMAEM.SYS — эмулирует плату отображаемой памяти в расширенной памяти ПЭВМ на базе МП 80386 или 80486.

Изучать перечисленные драйверы будем в соответствии со схемой, использованной нами при описании команд. В секции синтаксиса при этом будет приводиться формат команды DEVICE» для подключения рассматриваемого драйвера.

Драйвер ANSI.SYS

 

Назначение: обеспечение возможности расширенного управления устройством CON (клавиа­турой и дисплеем) через пользовательский интерфейс DOS.

Синтаксис:

DEVICE = [dir\]ANSI.SYS

Комментарии. Драйвер ANSI.SYS используется для:

— переключения текстовых режимов работы дисплея, а также установки цветов фона и , выводимых символов;

— позиционирования курсора на экране дисплея;

— переопределения клавиш клавиатуры и их комбинаций.

Если спецификация dir не задана, то файл ANSI.SYS ищется в корневом каталоге системного диска.

Передача сообщений (команд) установленному драйверу ANSI.SYS осуществляется посредством Escape-последовательностей ANSI (Американского Национального института стандартов). Называ­ются эти управляющие последовательности Escape-последовательностями потому, что каждая из них начинается символом ESC. Драйвер ANSI.SYS перехватывает весь вывод на дисплей с целью выделения таких последовательностей и выполнения действий, в них задаваемых. Escape-последо­вательности мы рассмотрим в следующем подразделе.

Пример:

■ DEVICE = C:\DOS33\ANSI.SYS — подключить драйвер ANSI.SYS из каталога C:\DOS33.

DOS 4.0. Синтаксис:

DEVICE = [dir\]ANSI.SYS [/X] [/К] [/L]

Переключатели интерпретируются следующим образом:

/X — разрешить переопределение драйвером ANSI.SYS тех расширенных кодов клавиш, которые содержат в первом байте ОЕН. Этот переключатель для стандартной амери­канской клавиатуры не действует, так как все расширенные коды клавиш, ею гене­рируемые, начинаются с ООН;

/К — обеспечить эмуляцию старой (84-клавИшной) клавиатуры (см. описание команды SWITCHES = в предыдущем пункте);

/L — обеспечить сохранение установленного командой MODE режима дисплея даже в том случае, когда выполняемая программа пытается его изменить.

Кроме того, в DOS 4.0 драйвером ANSI.SYS поддерживаются все текстовые режимы работы дисплейных адаптеров EGA и VGA.

Переключатель /L срабатывает не всегда, а также может приводить к «зависанию» системы.

Драйвер DISPLAY.SYS

 

Назначение: поддержка переключения кодовых страниц для дисплея.

Синтаксис:

DEVICE = [dir\]DISPLAY.SYS CON[:] = ([тип][, [hwcp][, {п | (п,т)} ]])

Комментарии. Команда DEVICE = в приведенном формате подключает драйвер DISPLAY.SYS, который активизирует заданную аппаратную кодовую страницу и выделяет указанное количество буферов для последующей загрузки составленных кодовых страниц.

Спецификация dir определяет каталог с файлом DISPLAY.SYS (по умолчанию — корневой каталог системного диска), а аргументы драйвера DISPLAY.SYS задают следующее:

тип — тип дисплейного адаптера (MONO, CGA, EGA или LCD). Если тип опущен, то осуществляется автоматическое распознавание адаптера. Тип EGA указывается как для адаптера EGA, так и для адаптера VGA;

hwcp — номер одной из поддерживаемых адаптером аппаратных кодовых страниц, которую требуется активизировать. Допустимы следующие номера, если соответствующие ко­довые страницы поддерживаются адаптером аппаратно: 437, 850, 860, 863 и 865. Кодовая страница по умолчанию определяется оборудованием (обычно — 437);

п — количество буферов, которые требуется создать для последующей загрузки состав-

ленных кодовых страниц (по одному буферу на кодовую страницу). Допустимо значение в диапазоне 0—12 (для MONO и CGA нужно указать 0, для EGA — можно 2, а для LCD — 1);

т — число шрифтов, поддерживаемых для каждой кодовой страницы. Например, EGA поддерживает два шрифта (с матрицами 8x8 и 8x14 точек).

Замечания:

— полная информация о переключении кодовых страниц содержится в описании команды MODE: поддержка кодовых страниц (см. п. 5.6.4);

— если тип адаптера автоматически распознается неверно, то следует его явно задать в качестве аргумента;

— число шрифтов обычно не указывается.

Пример:

■ DEVICE = C:\DOS33\DISPLAY.SYS CON = (EGА,437,2) - активизировать аппаратную кодовую страницу 437 (для США) и сформировать два буфера для составленных кодовых страниц.

Драйвер PRINTER.SYS

 

Назначение: поддержка переключения кодовых страниц для принтера.

Синтаксис:

DEVICE = [dir\]PRINTER.SYS LPTn = (mun [,[hwcp | (hwcp [, hwcp]...)][, m]])

Комментарии. Команда DEVICE» в данном формате подключает драйвер PRINTER.SYS, который активизирует заданную аппаратную кодовую страницу и выделяет указанное количество буферов для последующей загрузки составленных кодовых страниц.

Спецификация dir определяет каталог с фалом PRINTER.SYS (по умолчанию — корневой каталог системного диска), а аргументы драйвера PRINTER.SYS задают следующее:

п          — номер (1, 2 или 3) адаптера параллельного интерфейса, к которому подключен принтер;

тип     — тип принтера. Допустимы следующие типы:

hwcp    семейство ЮМ 4201 Proprinter или IBM 4202 Proprinter XL; 5202 - IBM 5202 Quietwriter III;

hwcp  — номер активизируемой аппаратной кодовой страницы. Если задано несколько номеров, то первая из указанных кодовых страниц активизируется, а остальные подготавлива­ются;

m       — количество буферов, которые требуется создать для последующей загрузки составлен­ных кодовых страниц (по одному буферу на кодовую страницу).

Замечания:

— полная информация о переключении кодовых страниц содержится в описании команды MODE: поддержка кодовых страниц (см. п. 5.6.4);

— если Ваш принтер несовместим ни с одним из перечисленных, то подключать драйвер PRINTER.SYS не следует,

— вместо LPT1 можно указать PRN;

— если указывается единственная аппаратная кодовая страница, то внутренние скобки можно опустить.

Пример:

    DEVICE=C:\DOS33\PRINTERSYS PRN=(4201,437,2) — активизировать аппаратную кодовую страницу 437 (для США) и сформировать два буфера для составленных кодовых страниц.

DOS 4.0. Поддерживается тип 4208 для принтеров IBM 4207 или 4208, а также IBM Proprinter Х24 или XL24.

Драйвер DRIVER.SYS

 

Назначение: создание нового логического привода.

Синтаксис:

DEVICE= [dir\]DRIVER.SYS /D:n [/С] [/H:h] [/S:s] [/T:t] [/F:f]

Комментарии. Данный драйвер используется для:

— поддержки внешних (подключенных к ПЭВМ дополнительно) НГМД;

— создания дополнительного логического (фиктивного) дисковода, эквивалентного по формату уже имеющемуся и обозначающего тот же физический привод;

— создания дополнительного логического (фиктивного) дисковода с другим форматом по сравнению с имеющимся, но обозначающего тот же физический привод.

Спецификация dir указывается, если файл DRIVERS YS содержится в каталоге, отличном от корневого каталога системного диска.

Для драйвера специфицируются следующие переключатели:

/D: п — задает физический номер НГМД п (от 0 до 127), причем 0 обозначает первый НГМД, 1 — второй, 2 — третий (обычно первый внешний НГМД) и т.д. или физический номер НЖМД п (128 — первый НЖМД, а 129 — второй);

/С — информирует драйвер о том, что дисковод аппаратно способен распознавать ситуацию, когда диск установлен, но дверца не закрыта. Такой дисковод реагирует на открытую дверцу, как будто бы диск не был установлен. Узнать об особенностях дисковода можно, изучив документацию на него. Современные дисководы, как правило, распоз­нают описанную ситуацию;

/Н: h    — задает число головок h (от 1 до 99, по умолчанию — 2);

/S:s      — устанавливает число секторов на дорожке s (от 1 до 99, по умолчанию — 9);

/Т: t     — задает число дорожек на каждой стороне дискеты t (от 1 до 999, по умолчанию — 80);

/F:/      — специфицирует формат дискеты, где / — номер формата, задаваемый одной из сле­дующих цифр:

0 — для дискеты емкостью 160, 180, 320 или 360 Кбайт;

1 — для дискеты емкостью 1,2 Мбайт;

2 — для дискеты емкостью 720 Кбайт (89 мм);

7 — для дискеты емкостью 1,44 Мбайт (89 мм).

По умолчанию принимается 2.

Замечания:

— в отличие от команды DRIVPARM = драйвер DRTVERSYS не модифицирует формат зарегистрированного логического дисковода, а создает новый логический дисковод на новом или уже зарегистрированном приводе;

— об именах, назначенных созданным логическим дисководам, пользователь будет оповещен при загрузке DOS;

— переключатели, воспринимаемые драйвером DRIVERS YS, аналогичны тем, которые ука­зываются в команде DRIVPARM = ;

— если ПЭВМ содержит единственный НГМД, то подключать драйвер DRIVERS YS для создания дополнительного логического привода, идентичного имеющемуся, не следует (он будет создан автоматически и получит имя В);

— переключатель необходим потому, что аппаратные возможности НГМД драйвером автоматически не распознаются;

— переключатель /F зачастую исключает необходимость детализации формата дискеты пе­реключателями /Н, /S и /Т;

— драйвером DRJVER.SYS можно создать 720-Кбайт логические дисководы на ПЭВМ типа ЕС 1840/41, поварьировав значениями в переключателе /D для имитации внешних 720-Кбайт 89-мм приводов.

Примеры:

■ если ПЭВМ снабжена одним 1,2-Мбайт и одним 1,44-Мбайт НГМД, а Вы хотите их использовать для копирования файлов (по COPY) с дискеты на дискету того же формата без задействования жесткого диска в качестве промежуточного хранилища информации, то поместите в CONFIG.SYS команды

DEVICE = DRIVERS YS /D:0 /F:l

DEVICE= DRIVERS YS /D:l /F:7

В результате этого каждый НГМД станет доступным под двумя именами, которые можно будет указать в команде COPY;

■ если Вы подключили к ПЭВМ внешний 89-мм 720-Кбайт НГМД, то в CONFIG.SYS укажите

DEVICE = DRIVERS YS /D:2

Продублировав данную строку, получите на этом физическом дисководе два логических.

Драйвер VDISK.SYS

 

Назначение: создание виртуального диска.

Синтаксис:

DEVICE = [dir\]VDISK.SYS [m] [п] \р] [/Е[: q])

Комментарии. Виртуальным диском (ОЗУ-диском) является аналог жесткого диска, созданный в оперативной памяти. Он применяется для хранения часто используемых файлов, чтобы снизить время доступа к ним. Файлы на виртуальный диск удобно копировать командами, размещенными в AUTOEXEC.BAT. Недостаток виртуального диска состоит в том, что при выключении питания все его содержимое теряется.

Спецификация dir определяет каталог, содержащий файл VDISK.SYS, если этот файл не находится в корневом каталоге системного диска.

Аргументы задают следующее:

т        — размер виртуального диска в Кбайт (от 16, по умолчанию — 64);

п — размер сектора в байтах. Допустимы значения 128, 256 и 512. По умолчанию принимается 128;

р — число элементов в корневом каталоге виртуального диска (от 2 до 512, по умолчанию — 64).

Если имеется переключатель /Е, то виртуальный диск размещается в расширенной памяти; число q задает количество секторов, передаваемых между расширенной памятью и стандартным ОЗУ посредством одной операции чтения-записи (от 1 до 8, по умолчанию — 8). Если пере­ключателя /Е нет, то виртуальный диск создается в стандартном ОЗУ.

Замечания:

— виртуальный диск, созданный в стандартном ОЗУ, существенно увеличивает размер рези­дентной части DOS. Поэтому если расширенная память имеется, то целесообразно указывать переключатель /Е;

— имя привода, под которым можно обращаться к виртуальному диску, будет сообщено во время загрузки DOS;

— форматировать виртуальный диск перед использованием не следует,

— для создания более одного виртуального диска нужно специфицировать несколько команд DEVICE = VDISK.SYS ...;

— не размещайте на виртуальном диске создаваемые файлы с ценной информацией;

— если выполняемая программа одновременно использует два файла, то разместите один из них на виртуальном диске, чтобы избавить физический дисковод от частого перемещения головок с одного файла на другой;

— количество элементов корневого каталога виртуального диска округляется в большую сторону до числа, кратного количеству элементов в секторе (каждый элемент каталога занимает 32 байт). Так, если задано 25 элементов корневого каталога, то при 512-байт размере сектора реально будет создано 32 элемента. Действительно, каждый сектор содержит 16 элементов каталога, а 32 — ближайшее к 25 большее число, кратное 16. Описанные действия выполняются с целью наиболее полного использования памяти (сектор, отведенный под каталог, задействуется им полностью);

— если Вы хотите опустить ряд аргументов драйвера, то придерживайтесь следующего правила: i-й аргумент можно не указывать, только если не заданы все последующие аргументы;

— размер сектора в 512 байт обеспечивает наивысшее быстродействие виртуального диска;

— файл VDISK.SYS поставляется с PC DOS. Драйвер же виртуального диска системы MS-DOS содержится в файле RAMDRIVE.SYS;

— драйвер VDISK.SYS управляет расширенной памятью непосредственно, а поэтому никаких дополнительных драйверов не требуется.

Примеры:

■ DEVICE = VDISK.SYS 30 — создать 30-Кбайт виртуальный диск в стандартном ОЗУ;

■ DEVICE = VDISK.SYS 1500 512 /Е — создать 1,5-Мбайт виртуальный диск с размером сектора в 512 байт в расширенной памяти.

DOS 4.0.  Синтаксис:

DEVICE = [\dir]VDISK.SYS [m] [п] \р] [/E[:q]] [/A[:q]]

Здесь аргументы имеют тот же смысл, однако п дополнительно может быть равно 1024, а по умолчанию принимается 512; р теперь может принадлежать диапазону 4 — 1024.

Переключатели /Е и несовместимы. /Е, как и ранее, обеспечивает создание виртуального диска в расширенной памяти, а переключатель — в отображаемой. Число q имеет тот же смысл. Используйте переключатель, только если расширенная память отсутствует или ее размера оказывается недостаточно (отображаемую память лучше задействовать в других целях, получив от этого преимущества, заключающиеся в отсутствии пересылки данных в стандартное ОЗУ и обратно). Если виртуальный диск все же создается в отображаемой памяти, то предва­рительно установите драйвер для управления ею, например XMA2EMS.SYS.

Драйвер SMARTDRV.SYS

 

Назначение: создание в дополнительной памяти ПЭВМ кэша по чтению для обмена инфор­мацией с НЖМД.

Синтаксис:

DEVICE = [dir\]SMARTDRV.SYS [s] [/А]

Комментарии. Драйвер SMARTDRV.SYS имеется только в DOS, начиная с версии 4.0. Его можно использовать лишь на такой ПЭВМ, которая снабжена НЖМД и имеет дополнительную (отображаемую или расширенную) память. Этот драйвер создает в дополнительной памяти кэш и осуществляет управление им. Считанная с жесткого диска информация заносится в кэш и сохраняется в нем до тех пор, пока не будет вытеснена другими данными. Если выполняемым программам требуется информация, имеющаяся в кэше, то обращение к диску не производится, а осуществляется передача прямо из кэша. Это позволяет повысить скорость считывания данных с «диска». Таким образом, кэш можно считать «старшим братом» буферов ввода-вывода. Вместе с тем драйвер SMARTDRV.SYS не обеспечивает использование кэша при записи информации на диск. Кэш дает наибольший эффект, когда одновременно используются несколько файлов, а также при свопинге.

Спецификация dir определяет каталог, содержащий файл SMARTDRV.SYS, если он не нахо­дится в корневом каталоге системного диска.

Аргумента задает размер кэша в Кбайт. По умолчанию принимается 256, если кэш размещается в расширенной памяти, или вся отображаемая память, если кэш создается в последней.

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

Замечания:

— драйвер SMARTDRV.SYS несовместим с другими функционально аналогичными программами;

— драйвер SMARTDRV.SYS эффективнее функционирует в отображаемой памяти;

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

— при создании кэша необходимость (и целесообразность) использования команд FASTOPEN и BUFFERS = отпадает;

— созданный драйвером SMARTDRV.SYS кэш не обслуживает НГМД;

— файл с именем SMARTDRV.SYS имеется только в MS-DOS 4.0. В системе же PC DOS данный драйвер размещается в файле IBMCACHE.SYS, а синтаксис его запуска не документирован.

Примеры:

■ DEVICE = SMARTDRV.SYS 1024 — создать в отображаемой памяти кэш емкостью 1 Мбайт;

■ DEVICE = SMARTDRV.SYS — создать в отображаемой памяти кэш с использованием всего ее доступного объема.

Драйвер XMA2EMS.SYS

 

Назначение: управление отображаемой памятью в соответствии со спецификацией LIM EMS 4.0.

Синтаксис:

DEVICE = [dir \]XMA2EMS.SYS P0=nl Pl=n2 P2=пЗ P3=n4 [Р254=n5] [P255 = п6] [/Х:т]

или

DEVICE = [dir\]XMA2EMS.SYS FRAME = n [Р254=n5] [Р255 = n6] [/Х:m]

Комментарии. Драйвер XMA2EMS.SYS поддерживается только DOS, начиная с версии 4.0. Все числа п и п1п6 являются адресами, выражаемыми номерами параграфов (16-байт блоков) и задаваемыми в шестнадцатеричной системе счисления без явного указания символа Н. Деся­тичное число т специфицирует размер памяти в страницах (16-Кбайт блоках).

Аргументы задают следующее:

Pi (i = 0,...,3)     — номер параграфа в стандартном адресном пространстве, начиная с которого нужно создать i-ю 16-Кбайт страницу окна для отображаемой памяти;

FRAME             — номер параграфа в стандартном адресном пространстве, начиная с которого следует последовательно и непрерывно разместить все четыре страницы окна отображаемой памяти/Аргумент FRAME несовместим с аргументами Pi, по­зволяя более быстрым, но менее универсальным способом спецификацировать окно;

Р254                       — номер параграфа в стандартном адресном пространстве, начиная с которого требуется разместить страницу, используемую командой FASTOPEN /X и драй­вером VDISK.SYS /А. Если аргумент Р254 не задан, то разместить буфер команды FASTOPEN и создать виртуальный диск в отображаемой памяти не удастся;

Р255                        — используется аналогично предыдущему аргументу, но применительно к команде конфигурирования BUFFERS = .

Таким образом, число 0, 1, 2 или 3 вслед за Р в имени аргумента задает номер 16-Кбайт страницы окна отображаемой памяти, а само значение аргумента — базовый адрес этой страницы в стандартном адресном пространстве, выраженный номером первого параграфа Другие аргументы обеспечивают обращение к заданным страницам отображаемой памяти минуя окно, но требуют наличия в стандартном адресном пространстве дополнительных неиспользуемых фрагментов.

Переключателем /X: т определяется объем используемой драйвером отображаемой памяти в страницах. Допустимы значения т в диапазоне от 4 (т.е. 64 Кбайт) до величины всей емкости имеющейся отображаемой памяти. По умолчанию принимается максимально возмож­ное значение.

Замечания:

— после установки драйвера XMA2EMS.SYS выполняемые программы могут использовать все средства доступа к отображаемой памяти, предоставляемые функциями DOS по прерыванию 21Н;

— подключите драйвер XMA2EMS.SYS до создания в отображаемой памяти виртуального диска, а также размещения в ней буферов командами BUFFERS = и FASTOPEN;

— для создания четырехстраничного окна отображаемой памяти обычно используется диапазон номеров параграфов от С000 до Е000, которые по сути являются сегментными адресами;

— в аргументе Pi допускается указывать номера страниц, отличные от перечисленных;

— если драйвер запущен в работу без аргументов, то он лишь выдает справочную информацию о доступной отображаемой памяти;

— если XMA2EMS.SYS указан в файле CONFIG.SYS после драйвера XMAEM.SYS, то пере­ключатель /X отвергается, а используется значение, установленное ранее.

Примеры:

■ DEVICE = XMA2EMS.SYS FRAME = DOOO Р254=С000 P255 = C400 /Х:64 - задействовать 64 16-Кбайт страницы отображаемой памяти для программ и 2 страницы для использования DOS, разместив окно по адресу D0000H, а страницы для DOS — по адресам СООООН и С4000Н;

■ DEVICE=XMA2EMS.SYS PO = DOOO P1 = D400 P2 = D800 P3 = DC00 P254=C000 P255*C400

/Х:64 — то же.

Драйвер HIMEM.SYS

 

Назначение: управление расширенной памятью в соответствии со спецификацией XMS 2.0 и JHMA-памятью.

Синтаксис:

DEVICE = [dir\]HIMEM.SYS [/HMAMIN = n] [/NUMHANDLES = m]

Комментарии. Драйвер HIMEM.SYS работает под управление DOS версии 3.0 и выше, но поставляется лишь с системой, начиная с версии 4.0. Он выполняет следующие функции:

1) обеспечивает доступ выполняемых программ к расширенной памяти в соответствии со спецификацией XMS 2.0;

2) обеспечивает возможность использования верхней НМА - памяти, но ничего в нее не загружает.

Каталог dir следует указать лишь тогда, когда файл HIMEM.SYS не находится в корневом каталоге системного диска.

После подключения драйвера к системе на экране появится сообщение

HIMEM: DOS XMS Driver, Version 2.04 — 8/17/88

Copyright 1988, Microsoft Corp.

Переключатель /HMAMIN = n специфицирует минимальный размер (в Кбайт) резидентной программы, которая может быть загружена в НМА - память (конечно, если она соответствующим образом оформлена). Значение п лежит в диапазоне 0 — 63. По умолчанию принимается 0, т.е. в НМА - память «пропускаются» все резидентные программы. Они размещаются в верхней памяти в порядке их загрузки. Переключатель /HMAMIN служит для эффективного ее использования, обеспечивая загрузку в НМА - память более крупных программ, а остальных — в стандартную память.

Например, если Вы устанавливаете сначала резидентную программу размером 15 Кбайт, а затем — 60 Кбайт и они обе способны размещаться в НМА - памяти, то укажите /HMAMIN=60. В этом случае первая программа будет загружена в стандартную память, а вторая — в верхнюю, что по сути сэкономит 60 Кбайт. Если переключатель не задан, то в НМА - память загрузится только первая программа. Для второй же в 64-Кбайт области не хватит места и поэтому она будет размещена в стандартной памяти. Это даст выигрыш всего в 15 Кбайт. Таким образом, задав переключатель /HMAMIN = 60, Вы высвободите 45 Кбайт по сравнению с его отсутствием.

Когда Вы явно специфицировали переключатель /HMAMIN, при установке драйвера на экране появится сообщение

Minimum НМА size set to п

(Минимальный размер НМА - памяти установлен в п)

Переключатель /NUMHANDLES = т задает максимальное число одновременно используемых обработчиков для блоков расширенной памяти (ЕМВ — Extended Memory Block). Это число (m) должно лежать в диапазоне 1 — 128, а по умолчанию принимается 32. Имейте в виду, что каждый обработчик дополнительно требует 6 байт в стандартной, памяти. Поэтому специфицируйте переключатель явно только тогда, когда для выполняемых программ обработчиков, заданных по умолчанию, не хватает.

Если Вы указали переключатель /NUMHANDLES, то при установке драйвера на экран будет выдано сообщение

т extended memory handles available

(Доступно m обработчиков расширенной памяти)

Драйвер HIMEM.SYS допускает также следующие недокументированные переключатели:

/INT15=р                                зарезервироватьр Кбайт расширенной памяти для доступа к ней через прерывание 15Н вместо спецификации XMS. Это необходимо для работы ряда программных продуктов (в частности, Paradox, QEMM, Oracle, Turbo EMS), которые обращаются к расширенной памяти непосредственно. В В качестве р допустимо значение из диапазона 64 — 65535, а по умолчанию принимается 0, т.е. вся расширенная память становится доступной в соответствии со спецификацией XMS;

/MACHINE :с                         — специфицировать тип адаптера адресной линии А20 в терминах кода или номера, если этот адаптер автоматически не распознается:

 

Код

Номер

Адаптер (тип ПЭДМ)

 

AT

 

 

PS2

 

 

PT1CASCADE

HPVECTRA

ATT6300PLUS

AGER1100

TOSHIBA

WYSE

 

 

 

TULIP

ZENITH

ATI

AT2

CSS

AT3

PHILIPS

FASTHP

BULLMICRAL

1

1

1

2

2

2

3

4

5

6

7

8

8

8

8

9

10

11

12

12

13

13

14

16

IBM PC AT

COMPUADD 386

JDR 386/33

IBM PS/2

Datamedia 386/486

UNISYS PowerPort

Phoenix Cascade BIOS

HP Vectra (А и A + )

AT&T 6300 Plus

Acer 1100

Toshiba 1600, 1200XE и 5100

Wyse 12,5 МГц 286

COMPUADD 386

Hitachi HL500C

Intel 301z или 302

Tulip SX

Zenith ZBIOS

IBM PC AT (для будущего использования)

IBM PC AT (для будущего использования)

CSS Lab

IBM PC AT (для будущего использования)

Philips

HP Vectra

Bull Micral 60

 

 

 

/A20CONTROL: {ON | OFF}

— брать на себя (ON) или нет (OFF) контроль за линией А20 даже в том случае, если она во время загрузки DOS была активной. По умолчанию принимается ON. Если указано OFF, то контроль со стороны драйвера за линией А20 будет осуществляться только в том случае, когда при подключении драйвера она была пассивной;

/SHADOWRAM: {ON | OFF}

— выключать (OFF) или нет (ON) теневое ОЗУ. Теневое ОЗУ, являющееся областью памяти в стандартном адресном простран­стве, хранит копию BIOS и подменяет ПЗУ для ускорения доступа. Если теневое ОЗУ выключается, то его область будет использо­ваться драйвером. По умолчанию принимается ON;

/CPUCLOCK: {ON | OFF}

— корректировать (ОN) или нет (ОFF) тактовую частоту ПЭВМ. По умолчанию принимается ОРТ. ON можно указать в случае, когда при подключении драйвера тактовая частота изменяется. Однако при этом работа драйвера замедлится.

Замечания:

— очень важным свойством драйвера является то, что он позволяет разгрузить до 64 Кбайт стандартной (640-Кбайт) памяти;

— после установки драйвера резидентные программы в НМА - память автоматически не за­гружаются (они должны быть оформлены специальным образом);

— драйвер может быть запущен только на ПЭВМ класса AT и старше, имеющей расширенную память размером не менее 64 Кбайт,

— если расширенная память управляется другими программными продуктами, не использу­ющими XMS-интерфейс, то сконфигурируйте их так, чтобы, по крайней мере 64-Кбайт область, не задействовалась;

— если Вы хотите установить драйверы, обращающиеся к расширенной памяти по стандарту XMS, то укажите HIMEM.SYS в файле CONFIG.SYS перед ними;

— если ПЭВМ не снабжена расширенной памятью, но имеет плату отображаемой памяти, то посредством переключателей на последней обычно можно преобразовать часть отображаемой памяти в расширенную для использования драйвером HIMEM.SYS.

Пример:

    DEVICE = HIMEM.SYS / HM AM IN = 40 / NUM HANDLES = 128

Драйвер EMM386.SYS

 

Назначение: эмуляция отображаемой памяти в расширенной памяти на ПЭВМ с МП 80386(SX) или 80486(SX) в соответствии со стандартом LIM EMS 4.0.

Синтаксис:

DEVICE =[dir\]EMM386.SYS [s] [X:m-n]... [Mx]

Комментарии. Драйвер EMM386.SYS работает под управлением DOS, начиная с версии 3.1.

Если файл EMM386.SYS не находится в корневом каталоге системного диска, то специфи­цируйте dir.

Аргументом s задается Кбайт размер расширенной памяти, используемой драйвером, Кбайт. По умолчанию принимается 256, а рекомендуется указывать 512.

Аргумент Х:т-п специфицирует диапазон адресов в стандартном адресном пространстве, которые не должны использоваться в качестве 64-Кбайт окна отображаемой памяти. Границы этой области определяются значениями тип, являющимися номерами параграфов (16-Кбайт блоков) и пред­ставляемыми в шестнадцатеричной системе счисления без явного указания символа Н.

Аргумент Mx явно указывает, по какому адресу в стандартном адресном пространстве раз­местить 64-Кбайт окно отображаемой памяти. Значение х выбирается из следующего списка при условии, что оно не вступает в конфликт с аргументом X:

 

x

Адрес в параграфах

0

1

2

3

4

5

6

7

8

C000

С400

С800

СС00

D000

D400

D800

DC00

E000

 

Драйвер автоматически распознает большинство плат расширения, создающих занятые окна в стандартном адресном пространстве (диапазон адресов 640 Кбайт — 1 Мбайт) и формирует свое окно в еще незадействованной области. Поэтому аргументы X и М следует задавать только в редких случаях, когда возникают коллизии между драйвером EMM386.SYS и платами расширения.

Замечания:

— драйвер может быть установлен только на ПЭВМ с аппаратно-программным интерфейсом по стандарту AT;

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

Примеры:

■ DEVICE = EMM386.SYS 1024

■ DEVICE = EMM386.SYS 512 X.C400-C7FF X.E000-E3FF

Драйвер XMAEM.SYS

 

Назначение: эмуляция платы отображаемой памяти в расширенной памяти на ПЭВМ с МП 80386(SX) или 80486(SX).

Синтаксис:

DEVICE = [dir\]XMAEM.SYS [п]

Комментарии. Этот драйвер имитирует наличие в ПЭВМ платы отображаемой памяти, ис­пользуя под нее расширенную память. Единственный аргумент п указывает в 16-Кбайт страницах, какой объем расширенной памяти требуется преобразовать в отображаемую. По умолчанию используется вся доступная расширенная память.

Замечания:

— драйвер XMAEM.SYS должен устанавливаться перед драйвером XMA2EMS.SYS;

— пара драйверов XMAEM.SYS и XMA2EMS.SYS эквивалентна единственному драйверу EMM386.SYS.

Пример: DEVICE = XMAEM.SYS