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 Кбайт (
7 — для
дискеты емкостью 1,44 Мбайт (
По умолчанию принимается 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 HP Vectra (А и A + ) AT&T 6300 Plus Acer 1100 Toshiba 1600, 1200XE и 5100 Wyse 12,5 МГц 286 COMPUADD 386 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