Программное обеспечение внешних устройств

Содержание

Слайд 2

страница

ЧТО ТАКОЕ ДРАЙВЕР?

Работа всего спектра внешних устройств обеспечивается специальным программным обеспечением

страница ЧТО ТАКОЕ ДРАЙВЕР? Работа всего спектра внешних устройств обеспечивается специальным программным
– драйверами.
Драйвер — это часть кода операционной системы, отвечающая за взаимодействие с аппаратурой.

Слайд 3

Эволюция драйверов

С момента своего появления до сегодняшнего дня драйвер беспрерывно эволюционировал, и

Эволюция драйверов С момента своего появления до сегодняшнего дня драйвер беспрерывно эволюционировал,
процесс этот до сих пор не закончился. Один из моментов эволюции драйвера — это эволюция концепции драйвера, как легко заменяемой части операционной системы. Как отдельный и довольно независимый модуль, драйвер сформировался не сразу. Да и сейчас многие драйверы практически неотделимы от операционной системы.

Слайд 4

Эволюция драйверов

Во многих случаях это приводит к необходимости переустановки системы (ОС Windows)

Эволюция драйверов Во многих случаях это приводит к необходимости переустановки системы (ОС
или пересборки ее (ядра) (в UNIX-системах). Такое же различие есть и между ветками операционной системы Windows: Windows 9x и Windows NT. В первом случае процесс работы с драйверами происходит (практически всегда) как с отдельными "кирпичиками", а во втором дела обстоят намного хуже (множество (если не большинство) драйверов "вшито" в ядро).

Слайд 5

Общие концепции драйверов

Существуют следующие общие концепции драйверов в Windows- и UNIX-системах:
способ

Общие концепции драйверов Существуют следующие общие концепции драйверов в Windows- и UNIX-системах:
работы с драйверами как файлами;
драйвер, как легко заменяемая часть ОС (учитывая сказанное выше);
существование режима ядра.

Слайд 6

Способ работы с драйверами как файлами

Способ работы с драйверами как файлами означает,

Способ работы с драйверами как файлами Способ работы с драйверами как файлами
что функции, используемые при взаимодействии с файлами, практически идентичны таковым при взаимодействии с драйверами (имеется в виду лексически): open, close, read и т. д.

Слайд 7

драйверы пользовательского режима (User-Mode Drivers):
драйверы режима ядра (Kernel-Mode Drivers):

Классификацию типов

драйверы пользовательского режима (User-Mode Drivers): драйверы режима ядра (Kernel-Mode Drivers): Классификацию типов
драйверов для ОС Windows NT

Слайд 8

драйверы пользовательского режима (User-Mode Drivers):
драйверы виртуальных устройств (Virtual Device Drivers, VDD)

драйверы пользовательского режима (User-Mode Drivers): драйверы виртуальных устройств (Virtual Device Drivers, VDD)
— используются для поддержки программ MS-DOS;
драйверы принтеров (Printer Drivers);

Классификацию типов драйверов для ОС Windows NT

Слайд 9

Классификацию типов драйверов для ОС Windows NT

драйверы режима ядра (Kernel-Mode Drivers):
драйверы

Классификацию типов драйверов для ОС Windows NT драйверы режима ядра (Kernel-Mode Drivers):
файловой системы (File System Drivers) — осуществляют ввод/вывод на локальные и сетевые диски;
унаследованные драйверы (Legacy Drivers) — написаны для предыдущих версий Windows NT;
драйверы видеоадаптеров (Video Drivers) — реализуют графические операции;
драйверы потоковых устройств (Streaming Drivers) — осуществляют ввод/вывод потокового видео и звука;
WDM-драйверы (Windows Driver Model, WDM) — поддерживают технологию Plag and Play и управления электропитанием.

Слайд 10

Если драйвер является многоуровневым, то обработка запросов ввода/вывода распределяется между несколькими драйверами,

Если драйвер является многоуровневым, то обработка запросов ввода/вывода распределяется между несколькими драйверами,
каждый из которых выполняет свою часть работы. Между этими драйверами можно "поставить" любое количество фильтр-драйверов (filter-drivers). Сейчас необходимо запомнить два термина — вышестоящие (higher-level) и нижестоящие (lower-level) драйверы. При обработке запроса данные идут от вышестоящих драйверов к нижестоящим, а при возврате результатов — наоборот. Ну и, понятно, одноуровневый (monolithic) драйвер просто является противоположностью многоуровневому.

Одно- и многоуровневые драйверы

Слайд 11

Для технологии Plug and Play существуют три уровня-типа драйверов:
шинные драйверы;

Для технологии Plug and Play существуют три уровня-типа драйверов: шинные драйверы; фильтр-драйверы;
фильтр-драйверы;
функциональные драйверы.

Технология Plug and Play

Слайд 12

Иерархия драйверов Plug and Play

На низшей ступени находится шинный драйвер, выше него

Иерархия драйверов Plug and Play На низшей ступени находится шинный драйвер, выше
— функциональный драйвер. Между и над ними находится определенное количество фильтр-драйверов. Если точнее, то:
1. Над шинным драйвером — фильтр-драйвер шины; эти два драйвера, очевидно, шинные.
2. Нижестоящие фильтр-драйвер устройства и классовый фильтр-драйвер.
3. Затем — собственно функциональный драйвер.
4. И, наконец, вышестоящие фильтр-драйвер устройства и классовый фильтр-драйвер; все драйверы со 2 по настоящий пункт относятся к драйверам устройства.

Слайд 13

Как известно, прерывания обрабатываются в соответствии с их приоритетом. В Windows NT

Как известно, прерывания обрабатываются в соответствии с их приоритетом. В Windows NT
используется особая схема прерываний, называемая уровнями запросов прерываний. Всего уровней IRQL 32, самый низкий — 0 (passive), самый высокий — 31 (high). Прерывания с уровня 0 по 2 (DPC\dispatch) являются программными, а с 3 по 31 — аппаратными. Существуют специальные функции ядра, позволяющие узнать текущий уровень IRQL, а также сменить (понизить или повысить) его.

Уровни запросов прерываний (IRQL)

Слайд 14

Технология Plug and Play

Технология Plug and Play (в условном переводе — "подключи

Технология Plug and Play Технология Plug and Play (в условном переводе —
и работай") — это технология, состоящая как из программной, так и из аппаратной поддержки механизма, позволяющего подключать/отключать, настраивать и т. д. применительно к системе все устройства, подключаемые к ней (конечно же, при условии, что подключаемые устройства поддерживают Plug and Play-технологию). В идеале весь этот процесс осуществляет только механизм Plug and Play, и какие-то действия со стороны пользователя вообще не требуются. Для каких-то устройств это так и происходит, для других — проблем, к сожалению, может быть гораздо больше. Кроме того, для успешной работы Plug and Play необходима не только поддержка этой технологии со стороны устройств, но также, конечно, со стороны драйверов и системного ПО.

Слайд 15

Возможности системного ПО поддерживающего технологию Plug and Play

Рассмотрим какие возможности предоставляет системное

Возможности системного ПО поддерживающего технологию Plug and Play Рассмотрим какие возможности предоставляет
ПО (вместе с драйверами), поддерживающее технологию Plug and Play:
автоматическое распознание подключенных к системе устройств;
распределение и перераспределение ресурсов (таких как, например, порты ввода/вывода и участки памяти) между запросившими их устройствами;
загрузка необходимых драйверов;
предоставление драйверам необходимого интерфейса для взаимодействия с технологией Plug and Play;
реализация механизма, позволяющего драйверам и приложениям получать информацию касаемо изменений в наборе устройств, подключенных к системе устройств, и совершить необходимые действия.

Слайд 16

Структура механизма Plug and Play

Система Plug and Play состоит из двух компонентов,

Структура механизма Plug and Play Система Plug and Play состоит из двух
находящихся соответственно в пользовательском режиме и режиме ядра — менеджера Plug and Play пользовательского режима и менеджера Plug and Play "ядерного" режима.
Менеджер Plug and Play режима ядра работает с ОС и драйверами для конфигурирования, управления и обслуживания устройств. Менеджер Plug and Play пользовательского режима же взаимодействует с установочными компонентами пользовательского режима для конфигурирования и установки устройств. Также, при необходимости, менеджер Plug and Play взаимодействует с приложениями.

Слайд 17

Номенклатура устройств поддерживающих PnP

PnP (сокращенное обозначение Plug and Play) может успешно

Номенклатура устройств поддерживающих PnP PnP (сокращенное обозначение Plug and Play) может успешно
работать со следующими типами устройств:
физические устройства;
виртуальные устройства;
логические устройства.