ВУЗ:
Составители:
137
13. Открытие устройства
Эта команда сообщает драйверу о появлении файла, открытого для
записи или чтения. Драйвер может учитывать наличие открытых файлов
перед выполнением операций чтения и записи. Для обработки команды
открытия и закрытия устройства в слове атрибутов заголовка устройства
должен быть установлен бит открытия/закрытия/сменный.
14. Закрытие устройства
Эта команда выдается
в драйвер, когда программа закрывает
устройство (при закрытии файла на диске).
По командам открытия и закрытия устройства драйвер может
подсчитывать количество открытых файлов. При отсутствии открытых
файлов драйвер может блокировать операции ввода и вывода.
15. Сменный носитель
Эта команда позволяет запросить драйвер устройства, является ли
носитель сменным. (В случае несменного носителя
программа может
считать, что смены диска не было.) Эта команда выдается в драйвер, если в
слове атрибутов заголовка устройства установлен бит
открытия/закрытия/сменный.
5.4 Создание драйверов блочных устройств
Для написания драйвера блочного устройства (обычно это диски)
необходимо хорошо представлять себе структуру данных этого блочного
устройства. Ниже рассматривается пример драйвера
блочного устройства –
драйвер RAM-диска. Для корректного написания такого драйвера
рассмотрим сначала структуру данных диска.
Загрузочная запись имеется на любом диске и размещается в
начальном секторе. Она состоит из команды перехода на программу
начальной загрузки, идентификатора поставщика, блока параметров BIOS
(BPB) и программы начальной загрузки.
jmp Идентификатор поставщика BPB Процедура загрузки
Переход на начало программы загрузки (3 байта)
• Идентификатор поставщика (8 байтов) – DOS не используется. Обычно
здесь обозначена фирма и версия DOS.
• ВРВ (BIOS Parameter Block – 19 байтов) – информация о диске для DOS.
• Процедура загрузки соджержит коды программы начальной загрузки,
которая загружается в память и получает управление. Она загружает
резидентные драйверы, формирует связный список драйверов,
137 13. Открытие устройства Эта команда сообщает драйверу о появлении файла, открытого для записи или чтения. Драйвер может учитывать наличие открытых файлов перед выполнением операций чтения и записи. Для обработки команды открытия и закрытия устройства в слове атрибутов заголовка устройства должен быть установлен бит открытия/закрытия/сменный. 14. Закрытие устройства Эта команда выдается в драйвер, когда программа закрывает устройство (при закрытии файла на диске). По командам открытия и закрытия устройства драйвер может подсчитывать количество открытых файлов. При отсутствии открытых файлов драйвер может блокировать операции ввода и вывода. 15. Сменный носитель Эта команда позволяет запросить драйвер устройства, является ли носитель сменным. (В случае несменного носителя программа может считать, что смены диска не было.) Эта команда выдается в драйвер, если в слове атрибутов заголовка устройства установлен бит открытия/закрытия/сменный. 5.4 Создание драйверов блочных устройств Для написания драйвера блочного устройства (обычно это диски) необходимо хорошо представлять себе структуру данных этого блочного устройства. Ниже рассматривается пример драйвера блочного устройства – драйвер RAM-диска. Для корректного написания такого драйвера рассмотрим сначала структуру данных диска. Загрузочная запись имеется на любом диске и размещается в начальном секторе. Она состоит из команды перехода на программу начальной загрузки, идентификатора поставщика, блока параметров BIOS (BPB) и программы начальной загрузки. jmp Идентификатор поставщика BPB Процедура загрузки Переход на начало программы загрузки (3 байта) • Идентификатор поставщика (8 байтов) – DOS не используется. Обычно здесь обозначена фирма и версия DOS. • ВРВ (BIOS Parameter Block – 19 байтов) – информация о диске для DOS. • Процедура загрузки соджержит коды программы начальной загрузки, которая загружается в память и получает управление. Она загружает резидентные драйверы, формирует связный список драйверов,
Страницы
- « первая
- ‹ предыдущая
- …
- 135
- 136
- 137
- 138
- 139
- …
- следующая ›
- последняя »