Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка драйвера, що розпізнає USB-пристрій як віртуальний COM-порт в системі Windows NT

Реферат Розробка драйвера, що розпізнає USB-пристрій як віртуальний COM-порт в системі Windows NT





жуть передаватися як потоки, так і повідомлення за допомогою будь-яких типів передач.

Набір клієнтських каналів, з якими працює драйвер пристрою, називається інтерфейсом пристрою або зв'язкою клієнтських каналів.


1.3 драйверного модель WDM


WDM (Windows Driver Model) - нова модель архітектури драйверів, запропонована Microsoft для Windows 2000, хоча ця архітектура розвивалася, починаючи з Windows 3.11, продовжуючи розвиватися і в Windows 98 і Windows NT, але по-справжньому повної вона стала тільки в Windows 2000.

З погляду WDM, існує три типи драйверів:

· Драйвер шини - драйвер, обслуговуючий контролер шини, адаптер, міст або будь-які інші пристрої, що мають дочірні пристрою. Для кожного типу шини в операційній системі є свій драйвер;

· Функціональний драйвер - основний драйвер пристрою, що надає його функціональний інтерфейс. Цей драйвер обов'язковий крім тих випадків, коли введення-виведення здійснюється драйвером шини або драйвером фільтрів шини. Функціональний драйвер за визначенням володіє найбільш повною інформацією про свій пристрій. Зазвичай тільки цей драйвер має доступ до специфічних регістрів пристрою;

· Драйвер фільтра - драйвер, підтримуючий додаткову функціональність пристрою (або існуючого драйвера) або змінює запити введення/виводу і відповіді на них від інших драйверів. Таких драйверів може бути декілька, хоча їх присутність необов'язкова. Вони можуть працювати як на більш високому рівні, ніж функціональний драйвер або драйвер шини, так і на більш низькому.

У середовищі WDM один драйвер не може контролювати всі аспекти пристрої: драйвер шини інформує диспетчера PnP про пристрої, підключених до шини, в той час як функціональний драйвер управляє пристроєм.


. 3.1 драйверного шари

Згідно перерахованим вище типам драйверів, існує три типи
об'єктів: · Об'єкти фізичних пристроїв (PDO, Physical Device Object) - ці об'єкти створюються для кожного фізично ідентифікованого елемента апаратури, підключеного до шини даних;

· Об'єкти функціональних пристроїв (FDO, Functional Device Object) - має на увазі одиницю логічної функціональності пристрою;

· Об'єкти фільтрів пристроїв (FiDO, Filter Device Object) - надають додаткову функціональність.

У Windows NT послідовність завантаження драйверів пристроїв така:

1. Під час завантаження операційної системи проводиться завантаження шинних драйверів для кожної відомої системі шини (список шин створюється при установці операційної системи і зберігається в реєстрі);

2. Викликається DriverEntry, а потім AddDevice для кожного шинного драйвера. У AddDevice створюється FDO для драйвера системної шини. Потім на створений FDO відправляється запит IRP_MN_START_DEVICE;

. Шинний драйвер складає список всіх пристроїв, підключених до шини. Для кожного знайденого пристрою створюється об'єкт PDO;

. На кожен PDO надсилається запит IRP_MN_QUERY_DEVICE_RELATION, у відповідь на який шинний драйвер повертає ідентифікатори всіх знайдених пристроїв;

. На ці PDO надсилають запит IRP_MN_QUERY_ID, у відповідь на який драйвер системної шини повідомляє ідентифікатори цих пристроїв;

. Отримавши ідентифікатори, система намагається знайти і завантажити драйвери пристроїв;

. Знайшовши драйвер для пристроїв, система завантажує його в пам'ять, викликаючи його DriverEntry. Потім викликається AddDevice, де створюється FDO для пристрою. Якщо пристроїв, керованих цим драйвером, декілька, то AddDevice буде викликана для кожного пристрою. Якщо в реєстрі зареєстровані додаткові фільтри, то вони також завантажуються в пам'ять. Потім система посилає на FDO запит IRP_MN_START_DEVICE;

. Відбувається посилка на FDO запиту IRP_MN_QUERY_DEVICE_RELATIONS. Якщо пристрій сам є шиною чи тримає на собі інші пристрої, якими само не керує, то для влаштування на ньому повторюється вся послідовність дій, починаючи з пункту 5.

Функція AddDevice, що викликається для кожного FDO, викликає IoCreateDevice і IoAttachDeviceToStack, забезпечуючи побудова стека пристроїв. Стек пристроїв забезпечує проходження запитів від користувача програм до апаратного (нижнього) рівня драйверів (Рис. 5).

З вищесказаного стає зрозумілим, що розроблюваний драйвер повинен бути драйвером-фільтром нижнього рівня, пов'язаним з клієнтським драйвером USB-накопичувача. Необхідність роботи з клієнтським USB-драйвером пояснюється тим, що саме на цьому рівні перехоплюється інформація володіє необхідною ст...


Назад | сторінка 5 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка апаратно-програмних модулів системної шини ISA
  • Реферат на тему: Інтерфейс польовий шини CAN
  • Реферат на тему: Опис роботи шини ISA IBM PC AT
  • Реферат на тему: Захист блоку генератор-трансформатор, що працює на збірні шини 110 кВ
  • Реферат на тему: Безпечні шини