Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Nun-Nun

Ветеран


Сообщения: 2153
Благодарности: 294

Профиль | Отправить PM | Цитировать


jameszero,

А не могли бы в шапке чуть более подробно пояснить, в каких именно случаях, кроме, как для написания драйверов, пользователю может потребоваться Kernel and User Mode Driver Framework ? Пробовал выудить смысл из перевода текстов с MSDN, но, честно говоря, - как-то
смутно
UMDF драйверы Plug and Play (PnP) и требованиям управления питанием и может поддерживать протокол или последовательные устройства на базе шины. Эти драйверы обрабатывать те же типы запросов ввода-вывода, что драйверов режима ядра и установлены INF-файлы, так же, как в режиме ядра драйверы. Однако написание драйверов UMDF предлагает следующие преимущества перед написание драйверов режима ядра:
Драйверов UMDF способствовать повышению стабильности операционной системы, потому что они имеют доступ только к адресному пространству процесса, в котором они запущены. Таким образом коррумпированных драйверов UMDF может привести к его устройство не функционирует, но водитель гораздо меньше шансов вызвать системные проблемы. Коррумпированных в режиме ядра драйвер, однако, имеет доступ к системе адресного пространства и вызывает функции режима ядра, что предоставляет операционной системы и что напрямую управлять важные системные структуры. Ошибки в режиме ядра драйвер может коррумпированных эти структуры и привести к компьютеру на провал.
Потому что драйверов UMDF выполняются с учетной записью LocalService, они имеют ограниченный доступ к данным пользователя или системных файлов, за исключением тех случаев, когда они олицетворять процесс клиента (для получения дополнительных сведений о как UMDF обрабатывает олицетворение, см. Обработка олицетворения клиента). Однако, потому что драйверов UMDF чувствительны к того же типа атак другие услуги, которые выполняются с учетной записью LocalService, должны по-прежнему написать драйвер UMDF с использованием безопасных методов кодирования.
Все драйверы работают в гораздо более простой среде чем драйверами режима ядра. Драйверы должны избегать проблем, которые связаны с IRQL, ошибки страниц и контекст потока, например. Однако, в пользовательском режиме, эти вопросы не существует. Драйверов пользовательского режима всегда выполняются в потоке от запрашивающего процесса и всегда может принимать ошибок страниц.
Большинство программистов приложений знакомы с интерфейс прикладного программирования (API) Microsoft Win32. Драйверов UMDF вызов Win32 API вместо того вызова функций режима ядра. Win32 API обеспечивает доступ к некоторым услугам, которые не доступны в режиме ядра, такие как шифрование. Потому что Win32 API является компонентом режима пользователя, операционная система выполняет дополнительные проверки безопасности и проверки перед внесением изменений, которые просит абонентом режима пользователя.
Можно выполнять отладку драйверов UMDF с помощью пользовательского режима отладчика вместо режима ядра отладчика. Отладка и драйверов развитие в пользовательском режиме может быть быстрее, потому что ошибка затрагивает только текущий процесс, а не весь компьютер, поэтому вам не придется тратить время перезагрузить компьютер. Кроме того пользовательском режиме отладки требуется только один компьютер, в то время как в режиме ядра отладки требуется узловой компьютер и компьютер. WDF включает в себя несколько расширения отладчика для использования с драйверами UMDF. Для получения дополнительных сведений об этих расширений увидеть отладки драйверов UMDF.
UMDF разработан таким образом, что вы можете писать драйверы, которые используют объектно ориентированные функции C++.
UMDF основан на подмножества модели компонентных объектов (COM). Можно использовать многочисленные средства COM, такие как библиотеки активных шаблонов (ATL), чтобы быстро создать код для драйвера.
Для типов устройств, поддерживаемых драйверов UMDF пропускной является большую вопросом, чем производительности внутренних драйвера. Для таких устройств драйверов UMDF сопоставимы в производительности для драйверов режима ядра....

Последний раз редактировалось Nun-Nun, 20-02-2012 в 13:52.


Отправлено: 13:46, 20-02-2012 | #3