Библиотека knigago >> Компьютеры и Интернет >> Программы >> Использование NuMega DriverStudio для написания WDM-драйверов


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1286, книга: Чтец
автор: Бернхард Шлинк

"Чтец" Бернхарда Шлинка — это захватывающий роман, который исследует сложные темы любви, вины и искупления. Эта история разворачивается в Германии после Второй мировой войны и следует за жизнью молодого человека по имени Михаэль и взрослой женщины по имени Ханна. Михаэль впервые встречает Ханну, когда ему всего 15 лет. Он серьезно болен и Ханна предлагает ему помощь, из-за чего между ними развиваются тайные отношения. Их связь основана на двух вещах: Михаэль читает Ханне книги, а она...

СЛУЧАЙНАЯ КНИГА

Телевизоры. Андрей Ангелов
- Телевизоры

Жанр: Драматургия

Год издания: 1995

Серия: Андрей Ангелов. Самобытные рассказы

Александр Тарво - Использование NuMega DriverStudio для написания WDM-драйверов

Использование NuMega DriverStudio для написания WDM-драйверов
Книга - Использование NuMega DriverStudio для написания WDM-драйверов.  Александр Тарво  - прочитать полностью в библиотеке КнигаГо
Название:
Использование NuMega DriverStudio для написания WDM-драйверов
Александр Тарво

Жанр:

Программы

Изадано в серии:

неизвестно

Издательство:

неизвестно

Год издания:

-

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Использование NuMega DriverStudio для написания WDM-драйверов"

Аннотация к этой книге отсутствует.


Читаем онлайн "Использование NuMega DriverStudio для написания WDM-драйверов". Главная страница.

Использование NuMega DriverStudio для написания WDM-драйверов

Драйвер — системная программа, предназначенная для управления каким-либо физическим или виртуальным устройством компьютера.

Драйверы устройств, как правило, – наиболее критичная часть программного обеспечения компьютеров. По иронии судьбы, это также и наиболее скрытая часть системы и программного обеспечения. Драйверы устройств системы Windows фирмы Microsoft не являются исключением. Наоборот, если в UNIX можно взять исходники ядра и помотреть, как там пишутся драйвера, то в Windows это вряд ли будет возможным.

Вспомним первые персоналки и MS DOS, бывшую в то время практически единственным выбором для настольного ПК. Несмотря на всю ее просто ту, драйвера, конечно, присутствовали и в ней. Практически все дело ограничивалось накoпителями — дисководами, CD-ROM приводами, винчестерами, да элементарнейшими драйверами клавиатуры и дисплея. Для каждой программы, требующей большего, чем перечисленный набор оборудования, требовалось создавать собственный драйвер. Представьте себе, что вам требуется воспроизвести звук на имеющейся в компьютере звуковой карте. Если вы знаете ее модель и у вас есть хорошая документация, вы, потратив немало времени, напишете прoграмму, которая сделает все желаемое. По крайней мере, так утверждает идеология открытых систем в общем и Linux в частности. А если необходимо поддерживать две модели? Три? Двадцать? И это при учете того, что новая звуковая карта появляется не реже раза в полтора-два месяца? И все они могут быть подключены различными способами и общаться с компьютером через разнообразные шины? Естественный выход — возложить написание кода, специфичного для аппаратуры, на ее создателя. Да и фирма-производитель, наняв высококвалифицированных специалистов, справится с задачей намного эффективнее и быстрее. Во всех современных операционных системах так и поступают. Существуют требования, например, к драйверу звуковой карты, и пользователь устанавливает тот вариант, который соответствует его "железу". А программа-проигрыватель через вызовы системных функций указывает, что именно она хотела бы воспроизвести, не заботясь об особенностях аппаратуры.

Данный труд не является руководством по написанию драйверов устройств под Windows — для этого пришлось бы писать пару толстых книжек. В нем рассматриваются вопросы написания простого драйвера PCI-устройства под Win 98/ME/2000 с использованием архитектуры драйверов WDM и пакета NuMega DriverStudio. В дальнейшем, будем считать, что нашей целью будет драйвер, работающий на компьютере с архитектурой ЦП i386 под управлением вышеупомянутых ОС. Наше гипотетическое устройство — это PCI–карточка, имеющая некоторое количество памяти.

Прилагаемые к руководству исходные тексты драйвера и программ работы с ним были проверены на PCI-карточке XDSP680c.

Руководство изначально писалось как методические указания для курса "Специальные компьютерные системы" специальности "Компьютерные системы и сети" Черниговского государственного технологического университета, но затем было переработано и дополнено. Предполагается, что читатель знаком с основами программирования под Win32 и средой Visual C++.

1. Общие сведения о драйверах устройств в системе Windows.

Естественно, каждая операционная система имеет собственную архитектуру и свои особенности функционирования драйверов. Но практически во всех современных ОС можно выделить следующие особенности, характерные для работы подсистемы ввода-вывода:

• Фактически, пользовательские программы либо системные утилиты не могут напрямую обращаться к аппаратуре, используя порты ввода-вывода, DMA либо подобные низкоуровневые механизмы напрямую. Этот факт следует из самой идеологии защищенного режима современных ОС: все программы пользователя и часть ОС работают в 3-м кольце защиты компьютера (наименее привилегированном). При этом любая команда обращения к порту из данной программы может быть замаскирована и повлечет за собой аппаратное исключение (Exception). Напрямую к аппаратуре может обратится программа, работающая в самом приоритетном, 0-м кольце защиты.

• В настоящее время практически все устройства используют технологию автоматического распределения ресурсов (портов ввода-вывода, запросов на прерывания и т.п.) — Plug and Play (PnP). Когда новое устройство, например, та же звуковая карта, будет добавлена --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.