ДРАЙВЕР УСТРОЙСТВА DOS
Устанавливаемый драйвер устройства - это программа в специальном формате, загружаемая в память во время загрузки DOS. Программа драйвера устройства состоит из следующих основных частей: · заголовка устройства, · рабочей области драйвера, · локальных процедур, · процедуры СТРАТЕГИЯ, · процедуры ПРЕРЫВАНИЕ, · программ обработки команд DOS. Первой частью файла должна быть 18-байтовая структура - заголовок устройства, структура которого приведена ниже. Поле Next_Device, имеющее при загрузке значение смещения –1 (0ffffh) модифицируется DOS так, чтобы указывать на начало следующего драйвера в цепочке. DOS поддерживает связный список драйверов, начиная с устройства НУЛЬ (nul:). Драйвер устройства НУЛЬ находится в списке первым и содержит указатель на следующий драйвер. Каждый следующий драйвер содержит такой же указатель, значение которого в последнем драйвере равно -1. Каждый драйвер содержит имя своего устройства, по которому DOS и находит нужный драйвер. Заголовок драйвера устройства
Значение поля Next_Device для последнего устройства в цепочке принимает значение –1 (0ffffh). Поле "Имя устройства" содержит 8-символьное имя для символьного устройства или количество обслуживаемых устройств - для блоковых. Поле DevAttr Заголовка устройства указывает свойства устройства. Ниже приведены значения отдельных разрядов слова состояния.
Замечания: · устройство NUL не может быть переназначено · бит устройства не-IBM влияет на обработку запроса "построить блок ВРВ" · бит символьного устройства влияет на запросы ввода и вывода и определяет смысл поля 'имя устройства' в Заголовке устройства. Если этот бит равен 0, устройство является блочным устройством (обычно дисковод) · бит часов указывает на замещение устройства CLOCK$. CLOCK$ - это символьное устройство, обрабатывающее запросы устройства на ввод и вывод длиной ровно в 6 байтов. Запрос на ввод (код команды 4) должен возвратить 6 байтов, указывающих текущие время и дату. Запрос на вывод (код команды 8) должен принимать 6 байтов, содержащих значения часов и календаря. При обращении к драйверу DOS формирует запрос устройства, в котором указывается, какую команду должен выполнить драйвер, а также передаются параметры команды, если это необходимо. Команды, используемые при вызове устройств в MS-DOS, приведены ниже.
ОПИСАНИЕ КОМАНД ДРАЙВЕРА
0. Инициализация Первая команда, выдаваемая в драйвер диска после загрузки. Она служит для настройки драйвера и для получения следующих сведений: · сколько накопителей поддерживает драйвер · адрес конца драйвера · адрес таблицы BPB (количество ВРВ по числу поддерживаемых накопителей). 1. Контроль носителя Эта команда всегда вызывается до дисковых операций считывания и записи для проверки смены носителя. Варианты ответа драйвера на запрос: · носитель не сменялся · носитель был сменен · не знаю 2. Получение ВРВ Эта команда выдается в драйвер, если была определена смена носителя. Для жестких дисков команда получения ВРВ вызывается только один раз. Если драйвер в ответ на контроль смены носителя отвечает "не знаю", вызывается команда получения ВРВ, если в DOS нет "грязных" буферов, т.е. буферов, в которых содержатся модифицированные данные, еще не записанные на диск. Если "грязные буферы" есть, DOS считает, что носитель сменен не был. По команде получения ВРВ драйвер должен прочесть с диска загрузочный сектор, где по смещению 11 находится ВРВ. ВРВ помещается в рабочую область DOS, и драйвер возвращает DOS указатель на ВРВ. 3. IOCTL-ввод
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Почему стероиды повышают давление?: Основных причин три... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (959)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |