русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лекция 11


Дата добавления: 2013-12-23; просмотров: 775; Нарушение авторских прав


Организация связи ядра с драйвером

 

1.Таблица входа драйверов блок ориентированных устройств

2. Таблица входов драйверов байт-ориентированных устройств

Индексный дескриптор специального файла содержит класс устройства, тип устройства и номер. Каждый тип устройства на соответствующую строку таблицы, соответствующую конкретному драйверу. Номер устройства передается драйверу в качестве параметра.

 

Драйвер байт-ориентированного устройства состоит в общем случае из секции открытия, чтения и записи файлов и секции управления режимом работы.

 

Драйвер блок-ориентированного устройства в общем случае состоит из секции закрытия/открытия файлов и секции стратегии. В таблице входа драйверов так же указаны адреса таблиц устройств rkrab, содержащих информацию об состоянии устройств.

 

Подсистема ввода/вывода Windows

 

Функции диспетчера ввода/вывода:

1. Создание пакетов запроса ввода/вывода (IRP – I/O Request Packet) и направление их соответствующему драйверу.

2. Удаление и освобождение пакетов после завершения операций.

3. Взаимодействие с диспетчером виртуальной памяти для предоставления файловым системам функции ввода/вывода с записью данных в память.

4. Мониторинг загруженных файловых систем и их вызов по требованию.

5. Предоставление поддержки синхронного и асинхронного ввода/вывода.

6. Управление буфером для операции ввода/вывода.

Высокоуровневые функции диспетчера объединены в программный интерфейс ввода/вывода I/O API. Драйверы устройств аналогичны драйверам файловых систем. В отличие от драйверов устройств, драйверы ФС:

1. Всегда вызываются в контексте потока, запрашивающего операцию ввода/вывода.

2. Взаимодействуют с диспетчерами КЭШа и виртуальной памяти для буферизации данных.

3. Драйверы фильтров ФС реализуют логические функции шифрования, удаленного хранения и так далее.



Каждый драйвер устройства взаимодействует с тремя типами объектов:

1. Объект драйвера – создается выполняемым модулем при загрузке драйвера. Содержит таблицу вызовов драйвера с адресами его процедур.

2. Объект устройства – представляет физическое устройство и описывает его характеристики. Может быть трех типов:

a. Объект физического устройства PDO – Physical Driver Object. Представляет устройство, подключенное к шине, и создается драйвером шины. Постоянно поддерживает связь с устройством.

b. Объект функционального устройства FDO – Functional Device Object. Создается драйвером класса устройств и драйвером порта.

c. Объект фильтра устройства DO – Filter Device Object. Устройство для драйвера фильтра.

3. Пакеты запросов ввода/вывода – используются для взаимодействия драйверов устройств в режиме ядра и выделяют в невыгружаемой памятью.

 

Элементы стека пакета IRP представляют собой структуры данных для отдельных драйверов, обрабатывающих IRP. Каждый драйвер получает закрытую область данных в стеке пакетов.

 



<== предыдущая лекция | следующая лекция ==>
Драйверы устройств | Дерево устройств


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.