Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Структура драйвера пристрою

Розглянемо структуру драйвера пристрою . Вона багато в чому подібна до структури, прийнятої в Linux. Можна виділити основні процедури драйвера.

· Процедура ініціалізації. Звичайно називається DriverEntry, її виконує мене­джер введення-виведення під час завантаження драйвера у систему, і зазви­чай вона здійснює глобальну ініціалізацію структур даних драйвера.

· Процедура додавання пристрою (add-device routine). Вона має бути реалізова­на будь-яким драйвером, що підтримує специфікацію Plug and Play. Менеджер Plug and Play викликає цю процедуру, якщо знаходить пристрій, за який відпо­відає драйвер. У ній звичайно створюють структуру даних, відображувану пристроєм (об'єкт пристрою).

· Набір процедур диспетчеризації (dispatch routines), аналогічних функціям фай­лових операцій у Linux. Ці процедури реалізують дії, допустимі для пристрою (відкриття, закриття, читання, записування тощо). Саме їх викликає менеджер введення-виведення під час виконання запиту.

· Процедура обробки переривання (interrupt service routine, ISR) аналогічна коду верхньої половини оброблювача переривання для Linux. Вона є оброблюва­чем переривання від пристрою, виконується із високим пріоритетом; основ­не її завдання - запланувати для виконання нижню половину оброблювача (DPC-процедуру).

· Процедура відкладеної обробки переривання, DPC-процедура (DPC routine), відповідає коду нижньої половини оброблювача переривання в Linux. Вона ви­конує більшу частину роботи, пов'язаної з обробкою переривання, після чого сигналізує про необхідність переходу до коду завершення введення-виведення. Особливості виклику цих процедур під час виконання операції введення-ви­ведення наведено нижче.

 

 

5.

У Windows ХР на внутрішньому рівні всі операції вве­дення-виведення, відображені пакетами IRP, є асинхронними. Будь-яку опера­цію синхронного введення-виведення відображають у вигляді сукупності асин­хронної операції й операції очікування.

Обробка запиту синхронного введення-виведення до однорівневого драйвера зводиться до такого:

1. Запит введення-виведення перехоплює динамічна бібліотека підсистеми (на­приклад, підсистема Win32 перехоплює виклик функції WriteFile9 ( )).

2. Динамічна бібліотека підсистеми викликає внутрішню функцію NtWriteFilе( ), що звертається до менеджера введення-виведення.

3. Менеджер введення-виведення розмішує у пам'яті пакет IRP, що описує запит, і відсилає його відповідному драйверу пристрою викликом функції IoCallDriver ( ).

4. Подальші кроки аналогічні до описаних для Linux.

5. Драйвер витягає дані із пакета IRP, передає їх контролеру пристрою і дає йому команду почати введення-виведення.

6. Драйвер викликає функцію очікування, поточний потік при цьому призупиня­ють. Для асинхронного введення-виведення цей етап не виконують.

7. Коли пристрій завершує операцію, контролер генерує переривання, яке обслу­говує драйвер.

8. Драйвер викликає функцію IoCompleteRequest( ) для тoгo щоб повідомити мене­джерові введення-виведення про завершення ним обробки запиту, заданого пакетом IRP, після чого виконують код завершення операції.

На двох останніх етапах зупинимося окремо.


Читайте також:

  1. III. Географічна структура світового ринку позичкового капіталу
  2. VІ. План та організаційна структура заняття
  3. Адміністративно – територіальний устрій і соціальна структура Слобожанщини у половині XVII – кінці XVIII століття
  4. Акти з охорони праці, що діють в організації, їх склад і структура.
  5. АРХІВНІ ДОВІДНИКИ В СИСТЕМІ НДА: ФУНКЦІЇ ТА СТРУКТУРА
  6. Атомно-кристалічна структура металів
  7. Базова алгоритмічна структура
  8. Банківська система та її структура. Функції Центрального банку.
  9. Безцехова виробнича структура.
  10. Будова систем: підсистема, елемент, структура, зв'язок.
  11. Бухгалтерська оцінка капіталу банку. Структура капіталу
  12. Бюджетна структура




Переглядів: 1072

<== попередня сторінка | наступна сторінка ==>
Категорії драйверів пристроїв | Обробка даних багаторівневими драйверами

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.