Драйверы устройств (device drivers) загружаются в третьем разделе файла. Драйверы устройств представляют собой программы, которые сообщают DOS, как управлять конкретными устройствами. Например, при помощи команды devicehigh=c:\mouse\mouse.sys подключается драйвер мыши, созданный независимыми разработчиками.
Некоторые производители включают утилиты установки программного обеспечения устройства, которые автоматически встраивают свои драйверы в файл CONFIG.SYS (или AUTOEXEC.BAT) в процессе установки. В других случаях драйверы устройств необходимо устанавливать вручную, обновляя файлы CONFIG.SYS или AUTOEXEC.BAT. Порядок установки драйверов обычно указывается в инструкции по установке устройства.
Порядок, в котором драйверы устройств перечисляются в файле CONFIG.SYS, играет важную роль. Рекомендуемый порядок перечисления драйверов устройств выглядит следующим образом: (1) HIMEM.SYS, (2) диспетчер управления расширенной памятью, если он установлен, (3) исполняемый файл EMM386.EXE и (4) все другие драйверы устройств.
Драйвер SMARTDRV.SYS организует дисковый кэш в области расширенной памяти — т.е. пространство для хранения информации, считываемой из жесткого диска. Кэш является специальной областью памяти, зарезервированной для хранения информации и команд, запрашиваемых с другой ячейки. Дисковый кэш хранит информацию, недавно полученную из жесткого диска. Доступ к информации, хранимой в ОЗУ, осуществляется гораздо быстрее, чем если бы она хранилась на жестком диске. Когда программе или команде DOS необходимы дополнительные данные, SMARTDRV направляет запрос в кэш на присутствие необходимой информации. Если SMARTDRV находит требуемые данные в кэше, они считываются оттуда. Если же искомая информация в кэше отсутствует, система обращается за ней к жесткому диску.
Благодаря такому подходу увеличивается общая производительность системы. В процессе завершения работы системы SMARTDRV копирует наиболее позднюю информацию на жесткий диск.
Модификатор 1024 устанавливает размер кэша равным 1 Мб (1024 Кб адресного пространства) в расширенной области памяти. Это типовой размер кэша для SMARTDRV; тем не менее, наиболее оптимальным размером кэша является 2 Мб (2048 Кб), поскольку чем больше размер кэша, тем с большей вероятностью требуемая информация в нем окажется. Поэтому не возникает необходимость обращаться за информацией к жесткому диску. Если команда позже изменяется при помощи ключа /А, кэш определяется в расширенной, а не в дополнительной памяти. По умолчанию предполагается использование дополнительной памяти.
Изменение свойств кэша осуществляется при помощи набора ключей, добавляемых к SMARTDRV. Функции ключей выглядят следующим образом:
- /С записывает всю текущую информацию из кэша на жесткий диск.
- /F записывает данные кэша до появления приглашения на ввод команды.
- /L запрещает SMARTDRV загружаться в область верхней памяти.
- /N не записывает данные из кэша до тех пор пока, не появится приглашение на ввод команды.
- /Q не выводит информацию о состоянии SMARTDRV.
- /R очищает кэш и перезапускает SMARTDRV.
- /S выводит дополнительную информацию о SMARTDRV.
- /U не запускает кэширование CD-ROM.
- /V отображает при загрузке состояние SMARTDRV.
- /X отключает кэширование с отложенной записью для всех устройств.
К другим общим параметрам SMARTDRV относятся:
- InitCacheSize указывает объем памяти XMS, выделяемый под кэш (в Кб).
- WinCacheSize указывает объем памяти XMS, выделяемый под кэш с Windows (в Кб).
- /E:ElementSize указывает количество байт информации, передаваемой за одну передачу.
- /BrBufferSize устанавливает размер буфера упреждающего чтения.
Драйвер RAMDRIVE.SYS эмулирует в ОЗУ структуру накопителя жесткого диска. Подобная разновидность устройства называется виртуальным диском (virtual disk). Команда DEVICEHIGH= загружает RAMDRV в область верхней памяти, а не в область обычной памяти, как было бы в случае применения команды DEVICE=. Команда DOS=HIGH,UMB перемещает DOS в область старших адресов памяти и предоставляет приложениям доступ в область верхней памяти. Работа драйверов SMARTDRV.SYS и RAMDRIVE.SYS контролируется диспетчером управления памятью HIMEM.SYS. Это оказывается нормальным только потому, что оба драйвера предполагают использование адресного пространства за пределами первого мегабайта обычной памяти. Аналогично, команды DEVICEHIGH= и DOS=HIGH, которые сдвигают программы в область верхней памяти, функционируют под руководством диспетчера HIMEM.SYS.
Четвертый раздел файла CONFIG.SYS содержит DOS-команду INSTALL, которая загружает резидентные программы во время запуска операционной системы.
Резидентные программы еще известны под названием TSR- (terminate-and-stay-resident) программ. Они работают в фоновом режиме. Эти программы находятся в памяти постоянно, пока работает система, и обычно активизируются нажатием заранее заданной комбинации клавиш.
Обычная команда установки — это INSTALL=C:\DOS\SHARE.EXE. Программа SHARE.EXE обеспечивает возможность совместного использования файлов в сетевом или многозадачном окружении.
К другим традиционно используемым командам CONFIG.SYS относятся:
- BREAK. Устанавливает или очищает расширенную проверку Ctrl+C.
- COUNTRY. Разрешает использование в DOS внутреннего времени, даты, валютного знака, преобразований регистров и десятичных разделителей.
- DRIVPARM. При запуске MS-DOS определяет параметры для блочных устройств.
- LASTDRTVE. Указывает максимальное число накопителей, к которым система имеет доступ.
- NUMLOCK. Указывает, включен или выключен параметр N UMLOCK на цифровой панели клавиатуры.
- REM. Дает возможность пользователю применять комментарии (REM) в командных файлах или в файле CONFIG.SYS.
- SET. Отображает, устанавливает или удаляет значение переменной среды MS-DOS.
- SHELL. Указывает имя и адрес командного интерпретатора, который должен использоваться операционной системой.
- INCLUDE. Объединяет содержимое одного конфигурационного блока с содержимым другого.
- MENUCOLOR. Устанавливает цвета текста и фона в меню запуска.
- MENUDEFAULT. Указывает стандартные пункты в меню запуска системы и при необходимости устанавливает время ожидания ввода.
- SUBMENU. Определяет пункт в меню запуска, в результате выбора которого отображается другой набор вариантов выбора.
Описание и применение этих команд более подробно рассматривается в руководстве пользователя MS-DOS. Там же определяются и драйверы устройств, устанавливаемых в DOS.
DOS поставляется с несколькими дополнительными стандартными драйверами устройств. Эти драйверы обычно находятся в каталоге C:\DOS и включают:
- KEYBOARD. SYS
- DISPLAY.SYS
- ANSI.SYS
- DRIVER. SYS
- PRINTER.SYS
KEYBOARD.SYS представляет собой стандартный файл определения клавиатуры в DOS. Драйвер DISPLAY.SYS поддерживает переключение кодовых страниц для используемого типа монитора. Кодовая страница — это набор из 256 символов, которые DOS использует одновременно при выводе на экран, принтер и при работе с текстами. ANSI.SYS поддерживает последовательности управляющих кодов ANSI, применяемых для изменения функций дисплея и клавиатуры. Этот файл также необходим для вывода цвета на экран в режиме DOS. Файл DRIVER.SYS создает буквы логических устройств для гибких дисков системы (т.е., А: и В:). И наконец, драйвер PRINTER.SYS поддерживает переключение кодовых страниц для параллельных портов. Все эти драйверы обычно находятся в каталоге DOS.
Специальная программа экономии энергопотребления называется POWER.EXE и разработана для портативных компьютеров. Если она подключается в последней строке файла CONFIG.SYS, а аппаратное оборудование системы находит спецификацию расширенного управления энергопотреблением (Advanced Power Management, АРМ), потребление электроэнергии не будет превышать 25%. В случае применения батарейного источника питания, POWER.EXE обеспечит существенную экономию. Появится возможность осуществить на 25% больше операций, прежде чем возникнет необходимость подзаряда аккумулятора. Файл POWER.EXE должен находится в каталоге C:\DOS.