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

Реферат Драйвера ядра Windows





айлів (*. lib).

Таким чином, Windows підтримують різні типи драйверів пристроїв, але, крім того, існують драйвери, які не є драйверами пристроїв, а просто дозволяють створювати програми, які в Windows будуть працювати в режимі ядра, т.е . на 0 рівні привілеїв. При цьому вони повністю отримують доступ до ОС і встаткування. p align="justify"> Розглянемо найпростіший драйвер режиму ядра.

# include DriverEntry (PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pusRegistryPath) {STATUS_DEVICE_CONFIGURATION_ERROR;

}

Точкою входу є DriverEntry, яка оформлена у вигляді процедури, приймаючої два параметри: - покажчик на об'єкт щойно створеного драйвера. Завантажуючи драйвер, система створює об'єкт "драйвер" (driver object), що представляє для неї образ драйвера в пам'яті. Через цей об'єкт система керує драйвером. Об'єкт "драйвер" представляє собою звичайну структуру даних типу DRIVER_OBJECT. - Покажчик на розділ реєстру, що містить параметри ініціалізації драйвера. p align="justify"> Цей наш перший драйвер тільки завантажується в систему і тут же вивантажується.

Тепер розглянемо програму-шаблон, яку потрібно буде використовувати для розробки програми на першому кроці курсової роботи (драйвер режиму ядра beeper.sys).

Завдання цього драйвера - виконувати на системному динаміці одну ноту до першої октави. Для цього драйвер використовує інструкції процесора in і out, звертаючись до відповідних портів введення-виведення. Загальновідомо, що доступ до портів вводу-виводу - це свято охороняється Windows системний ресурс. Спроба звернення до будь-якого з них, як на введення, так і на висновок, з режиму користувача, неминуче призводить до появи винятку. p align="justify"> У нашому прикладі буде працювати динамік (для цього використовується, зокрема, порт 61h, 0 і 1 біти, порт 43h і 42h).

На початку драйвера визначені всі 12 нот.

Потрібно буде не просто включити динамік, а встановити частоту звуку. Для цього використовується підсистема таймера, яка працює незалежно від процесора і має 3 канали. Вихід каналу 2 пов'язаний з динаміком, який використовується для генерації звуку різної частоти. Чутний діапазон звуку - 30Гц-6000Гц. p align="justify"> Щоб задати частоту звуку, в порт 43h (регістр команд таймера) надсилається керуюче слово 0Bh:

mov al, 0Bh43h, al

Це значення визначає номер каналу, яким ми будемо управляти, тип операції, режим роботи каналу і формат лічильника.

Потім в порт 42h надсилається перерахована частота звуку (1193167/частоту (Гц)) двома порціями (спочатку молодша частина, потім - старша).

Наприклад, ми хочемо отримати частоту звуку в 100Гц. Перераховуємо частоту,

/100 = 11931

Назад | сторінка 2 з 15 | Наступна сторінка





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

  • Реферат на тему: Розробка драйвера, що розпізнає USB-пристрій як віртуальний COM-порт в сист ...
  • Реферат на тему: Передача звуку через стінки каналу
  • Реферат на тему: Розробка програми-драйвера клавіатури
  • Реферат на тему: Розробка програми для Windows, що представляє собою MP3 плеєр
  • Реферат на тему: Перехоплення функцій ядра Windows для захисту процеса