Вернуться   Компьютерный форум > Блоги > Базаров
Оценить эту запись

Драйверы и резидентные программы

Запись от Базаров размещена 22.05.2013 в 20:27

(Информация датирована 1996 г.)

Зачем они нужны
Драйверы и резидентные программы позволяют расширить возможности DOS, например, обезпечивая обслуживание новых или нестандартное использование имеющихся устройств, доступ к оперативной памяти сверх одного Мбайта, повышение скорости ввода-вывода с дисками за счет их кэширования, ввод русских букв с клавиатуры и т.д.
Их запуск
Запуск драйверов и резидентных программ осуществляется следующим образом:
  • драйверы подключаются во время начальной загрузки DOS с помощью специальных команд файла CONFIG.SYS: DEVICE и DEVICEHIGH;
  • резидентные программы запускаются как обычные программы, только они после загрузки и выполнения некоторых действий как бы заканчивают свою работу, то есть на экране появляется приглашение DOS, и пользователь может запускать другие программы. Однако на самом деле часть оперативной памяти компьютера остается занятой резидентной программой.
Как они работают
Функционирование драйверов и резидентных программ основано на том, что они как бы "встраиваются" в DOS, указывая, что они будут обрабатывать те или иные прерывания (события). Например, резидентная программа или драйвер может обрабатывать все нажатия клавиш на клавиатуре, проверяя, не нажата ли какая-либо специфическая комбинация клавиш, при которой она должна выполнить некоторое действие (скажем, записать на диск копию содержимого экрана или выдать варианты перевода слова, отмеченного курсором). А если эта комбинация не нажата, обработка передается штатной подпрограмме DOS.
Можно сказать, что драйверы и резидентные программы расширяют возможности DOS, делая ее чуть-чуть многозадачной. Например, пока вы выполняете обычную работу с компьютером, резидентная программа или драйвер может играть музыку или принимать факсы.
Повторный вызов резидентных программ
Иногда пользователь может повторно выдавать команду запуска резидентной программы для установки каких-то режимов ее работы. При этом программа, как правило, определяет, что она уже является резидентной и не отбирает больше оперативной памяти у DOS.
Выгрузка из памяти резидентных программ
В отличие от драйверов, которые всегда остаются в оперативной памяти до перезагрузки DOS, резидентные программы могут позволять выгрузить их из памяти (для этого надо повторно запустить эту программу с указанием соответствующих параметров в командной строке). Впрочем, выгрузка из памяти поддерживается не всеми резидентными программами.
Замечания. 1. Некоторые программы являются одновременно драйверами и резидентными программами. Например, для запуска этой программы ее надо вызвать командой DEVICE или DEVICEHIGH файла CONFIG.SYS, а для изменения режимов работы - вызвать из командной строки DOS, указав нужные параметры.
2. Резидентные программы и драйверы должны занимать небольшой объем оперативной памяти и весьма нетривиальным образом взаимодействовать с операционной системой DOS, поэтому они пишутся достаточно квалифицированными программистами, как правило, на языках Ассемблер и Си.
3. Некоторые резидентные программы и драйверы не могут работать в верхней памяти, то есть они должны загружаться только в обычную память (в пределах первых 640 Кбайт).
Размещено в Без категории
Просмотров 4952 Комментарии 0 Отправить другу ссылку на эту запись
Всего комментариев 0

Комментарии

 

Текущее время: 10:07. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.