Написання драйверів для Windows NT, Windows, Операційні системи, статті

Перш ніж перейти безпосередньо до теми статті, хотілося б сказати кілька слів про роль драйверів в операційній системі. Згадаємо перший персоналки і MS DOS, що була в той час практично єдиним вибором для настільного ПК. Незважаючи на всю її простоту, драйвера, звичайно, були присутні і в ній. Практично вся справа обмежувалася накопичувачами – дисководами, CD-ROM приводами, вінчестерами, та найелементарнішим драйверами клавіатури і дисплея. Для кожної програми, що вимагає більшого, ніж перерахований набір, потрібно створювати власний драйвер. Уявіть собі, що вам потрібно відтворити звук на наявної в комп’ютері звукової карти. Якщо ви знаєте її модель і у вас є хороша документація, ви, витративши немало часу, напишете програму, яка зробить все бажане. А якщо необхідно підтримувати дві моделі? Три? Двадцять? І це при врахуванні того, що нова звукова карта з’являється не рідше разу в півтора-два місяці? Природний вихід – покласти написання коду, специфічного для апаратури, на її творця. Та й фірма-виробник, найнявши висококваліфікованих фахівців, впорається із завданням набагато ефективніше і швидше. У всіх сучасних операційних системах так і роблять. Існують вимоги, наприклад, до драйвера звукової карти, і користувач встановлює той варіант, який відповідає його “заліза”. А програма-програвач через виклики системних функцій вказує, що саме вона хотіла б відтворити, не піклуючись про особливості апаратури.

Тепер перейдемо власне в Windows NT. Перш за все слід зауважити, що фірма Microsoft випускає пакет DDK (Driver Development Kit), призначений саме для створення системних драйверів. Він містить необхідні для розробки програми та бібліотеки, а також документацію та приклади. Надалі я буду неодноразово на нього посилатися. У Windows NT драйвера бувають наступних типів:

Я зупинюся на Kernel mode drivers, як на представляють найбільший інтерес для програміста.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*