Model sterownika Windows
Windows Driver Model (WDM) , struktura sterowników urządzeń (znana również jako Win32 Driver Model i Windows NT Driver Model ), została wprowadzona w systemach Windows 98 i Windows 2000 w celu zastąpienia przestarzałego VxD , który był używany w starszych wersjach systemu Windows, takich jak Windows 95 i Windows 3.1 .
Przegląd
Model sterownika Microsoft Windows definiuje model sterownika dla systemów operacyjnych Windows 98, Windows 2000 i nowszych, standaryzując wymagania i redukując kod. Zgodnie z koncepcją WDM, sterowniki mogą być kompatybilne binarnie . Na przykład sterownik x86 napisany dla systemu Windows 98 może działać z systemami Windows Me , Windows 2000, a nawet Windows Vista . Sterowniki WDM zaprojektowano z myślą o zgodności w przód, więc taki sterownik może działać w nowszej wersji systemu Windows niż ta, dla której został pierwotnie napisany. Ale oznacza to również, że sterownik nie będzie mógł korzystać z nowych funkcji nowej wersji frameworka WDM. Sterowniki WDM są w większości niezgodne wstecznie . Oznacza to, że nie ma gwarancji, że taki sterownik będzie działał na starszej wersji systemu Windows niż ta, dla której został napisany. Na przykład system Windows XP może używać sterownika napisanego dla systemu Windows 2000, ale ten sterownik nie może korzystać z nowych funkcji dodanych w systemie Windows XP. Jednak sterownik napisany dla systemu Windows XP może, ale nie musi działać w systemie Windows 2000.
Sterowniki WDM komunikują się ze sobą za pośrednictwem pakietów żądań we/wy (IRP).
Technologia WDM została opracowana w celu zwiększenia funkcjonalności i ułatwienia pisania sterowników dla systemu Windows. Chociaż WDM został zaprojektowany głównie z myślą o zgodności binarnej i na poziomie źródłowym między systemami Windows 98 i Windows 2000, często nie zawsze jest to oczekiwane i dlatego dla każdego systemu operacyjnego opracowywane są osobne sterowniki.
Sterowniki WDM są generalnie zaprojektowane w celu rozszerzenia standardowych możliwości głównego sterownika.
VxD, WDM i Windows 99
Systemy operacyjne oparte na systemie Windows 98 (Windows 98, Windows 98 Wydanie drugie i Windows Me) mogą używać zarówno standardów sterowników WDM, jak i VxD . Oba modele sterowników mogą zapewnić unikalne i różne możliwości dla tego samego urządzenia. Jednak nowszy standard WDM zwykle zapewnia więcej opcji. Na przykład, jeśli tuner telewizyjny korzysta ze sterownika VxD, może przechwytywać obraz o rozdzielczości 384 × 288 pikseli. Ten sam tuner telewizyjny ze sterownikiem WDM może przechwytywać obraz o rozdzielczości 768×576 pikseli.
Krytyka
Model sterownika Windows, mimo że jest znaczącym ulepszeniem w stosunku do poprzednich modeli sterowników VxD i Windows NT, został skrytykowany przez twórców sterowników [1] , głównie z następujących powodów:
- WDM jest zbyt trudny do nauczenia.
- Złożona interakcja z zarządzaniem energią i zdarzeniami Plug and Play . Prowadzi to do wielu sytuacji, w których komputery z systemem Windows nie są w stanie hibernować lub prawidłowo się obudzić z powodu błędów w kodzie sterownika.
- Anulowanie we/wy jest prawie niemożliwe do poprawnej identyfikacji.
- Każdy sterownik wymaga tysięcy linii towarzyszącego kodu.
- Nie ma obsługi pisania „czystych” sterowników trybu użytkownika.
Pojawiło się również wiele problemów związanych z jakością dokumentacji i przykładów dostarczonych przez Microsoft.
Z powodu tych problemów firma Microsoft wydała nową platformę zastępczą WDM o nazwie Windows Driver Foundation , która obejmuje środowisko sterowników trybu jądra (KMDF) i środowisko sterowników trybu użytkownika (UMDF). Windows Vista obsługuje zarówno WDM, jak i nowy Windows Driver Foundation. KMDF jest również dostępny do pobrania dla systemu Windows XP, a nawet Windows 2000, podczas gdy UMDF jest dostępny tylko w systemie Windows XP.
Zobacz także
Literatura
- Finnel, Lynn (2000). Egzamin MCSE 70-215, Microsoft Windows 2000 Server . Microsoft Prasa . ISBN 1-57231-903-8 .
- Oney, Walter (2003). Programowanie modelu sterownika Windows , Microsoft Press , ISBN 0-7356-1803-8 .
Linki
- Podstawy API sterowników Windows - Artykuł o podstawach tworzenia sterowników do kart dźwiękowych, takich jak WDM: ASIO , MME , DirectX , itp. (eng.)
- Wideo Channel 9 — wywiad z zespołem ds. zarządzania i instalacji urządzeń firmy Microsoft, głównie Plug and Play
- Przewodnik przetrwania jądra — bezpłatny podręcznik, który obejmuje podstawy tworzenia sterowników systemu Windows, programowania na poziomie jądra i zarządzania pamięcią.