Главная страница
Навигация по странице:

  • Процедура инициализации драйвера.

  • Набор диспетчерских процедур.

  • Стартовая процедура

  • Процедура обработки прерывания

  • Процедура отложенных вызовов

  • Процедура завершения операции

  • лекция 6. Архитектура Windows Драйверы nt


    Скачать 291 Kb.
    НазваниеАрхитектура Windows Драйверы nt
    Анкорлекция 6
    Дата14.08.2022
    Размер291 Kb.
    Формат файлаppt
    Имя файлаlekcija6.ppt
    ТипПрограмма
    #645723

    Архитектура Windows

    Драйверы NT

    • Драйвер (driver) — компьютерная программа, с помощью которой другие программы (обычно операционная система) получают доступ к аппаратному обеспечению некоторого устройства.
    • Windows использует многоуровневую модель ввода/вывода, при которой запрос ввода/вывода последовательно обрабатывается стеком из нескольких драйверов.
    • В архитектуре Windows выделяют слой HAL предназначен для скрытия различий в аппаратном обеспечении от основной части ядра операционной системы, таким образом чтобы большая часть кода, работающая в режиме ядра не нуждалась в изменении при её запуске на системах с различным аппаратным обеспечением.

    Драйверы NT

    • Пример реализации клавиатурного шпиона как дополнительный драйвер

    Драйверы NT

    • Процедура инициализации драйвера. Выполняется при загрузке драйвера в подсистему ввода-вывода, при этом создаются системные объекты, связанные с драйвером.
    • Процедуры драйвера NT
    • Набор диспетчерских процедур. Эти процедуры составляют основу драйвера, так как именно они выполняют операции ввода-вывода, поддерживаемые данным драйвером, например чтение данных, запись данных, перемотку ленты и т. п.
    • Стартовая процедура предназначена для приведения устройства в исходное состояние перед началом очередной операции. Выполняет «открытие» (open) устройства.

    Драйверы NT

    • Процедура обработки прерывания (ISR – Interrupt Service Routine) включает наиболее важные действия, которые нужно выполнить при возникновении очередного аппаратного прерывания от контроллера устройства. Процедура обработки прерывания драйвера имеет высокий приоритет.
    • Процедуры драйвера NT
    • Процедура отложенных вызовов (DPC – Deferred procedure call). Эта процедура также состоит из функций, которые нужно выполнить при возникновении прерывания от контроллера устройства, однако эти функции не требует такой быстрой реакции, как функции ISR.
    • Процедура завершения операции уведомляет менеджер ввода-вывода о том, что операция завершена и данные находятся в системной области памяти.

    Драйверы NT

    Драйверы NT

    • При осуществлении операции ввода/вывода диспетчер ввода/вывода создает специальный пакет, описывающий эту операцию - пакет запроса ввода/вывода (I/O Request Packet, IRP).
    • IRP
    • Структура IRP специально разработана для поддержки многоуровневой модели ввода/вывода, при которой запрос ввода/вывода последовательно обрабатывается стеком из нескольких драйверов.
    • каждый пакет запроса ввода/вывода состоит из двух частей: "фиксированной" части и Стека Ввода/вывода.

    Драйверы NT

    • IRP


    написать администратору сайта