1 Einleitung

 

1.1 Motivation zurück nach oben nächster Abschnitt Inhaltsverzeichnis

Wenn man den Zeitschriften glauben darf, ist auf über 90 Prozent aller PCs ein Produkt von Microsoft installiert. Microsofts modernstes Betriebssystem ist zur Zeit Windows NT 4.0, das in punkto Stabilität, Sicherheit und Netzwerkfähigkeit den Konkurrenten aus dem eigenen Haus weit überlegen ist. Zudem ist es zu vielen Anwendungen kompatibel, die ursprünglich für die "kleineren" Betriebssysteme wie MS-DOS und Windows 3.1 entwickelt wurden. Auch im Office-Bereich hat sich der Quasistandard von Microsoft durchgesetzt. Kaum eine Firma kommt heutzutage mehr ohne Word und Excel aus. Den Alternativen zu Microsoft (Unix und Linux) haften immer noch die Vorurteile der schwierigen und umständlichen Bedienung an, obwohl gerade Linux immer mehr an Bedeutung gewinnt. Anwender und Firmen, die Wert auf eine stabile Umgebung legen, wechseln daher immer öfter im Falle einer Erneuerung der Soft- und Hardware bzw. bei einer Neuanschaffung zu Windows NT 4.0.

Beim Wechsel zu Windows NT kommt es aber auch zu Schwierigkeiten. Wer auf Programme angewiesen ist, die direkt mit der Hardware kommunizieren müssen, steht vor dem Problem, daß dies unter Windows NT vom Betriebssystem unterbunden wird. Wenn der Hersteller des Programms keine angepaßte Version für NT zur Verfügung stellt, ist der Wechsel zum neuen Betriebssystem nicht möglich. Eine Reihe von Softwarefirmen stehen daher vor der Aufgabe, ihre Programme an die Gegebenheiten von NT anzupassen. Auch die sich immer schneller entwickelnde Hardwareindustrie kann auf die Unterstützung von Windows NT nicht verzichten, ohne einen stetig wachsenden Markt zu verlieren.

Mit dem Win32 API stellt Microsoft für den Anwendungsprogrammierer eine gut dokumentierte Schnittstelle zur Verfügung. In einer Vielzahl von Publikationen wird das API bis ins kleinste Detail beschrieben. Wer jedoch direkt auf die Hardware zugreifen will, muß für diese unter Windows NT spezielle Treiber entwickeln. Dafür benötigt man ein extra Entwicklungswerkzeug, das Windows NT Driver Development Kit (DDK). Leider ist für dieses Kit im Gegensatz zum Win32 API die Dokumentation sehr dürftig. Die komplexen Zusammenhänge werden schlecht und unverständlich beschrieben und die Beispiele sind so kompliziert, daß man sie auch mit einiger Erfahrung in der Entwicklung von Treibern nur schwer durchschaut. Auch die Literatur hält sich zu diesem Thema sehr zurück. Im Grunde gibt es nur ein Buch, das sich mit den wesentlichen Konzepten der Treiberprogrammierung auseinandersetzt. Dieses Buch hat den Titel "The Windows NT Device Driver Book" und wurde von Art Baker geschrieben. Publikationen in deutscher Sprache sucht man bis auf wenige Ausnahmen vergebens.

In dieser Diplomarbeit sollen alle wesentlichen Grundlagen zur Treiberentwicklung vermittelt werden. Wichtige interne Abläufe und Strukturen von Windows NT sollen ebenso erläutert werden, wie die Werkzeuge, die zur Erstellung von Treibern benötigt werden. Außerdem werden mit einer Reihe von Beispieltreibern und Anwendungen, die theoretischen Grundlagen in die Praxis umgesetzt.

 

 

1.2 Voraussetzungen zurück nach oben nächster Abschnitt Inhaltsverzeichnis

Aufgrund des komplexen Themas werden beim Leser gewisse Voraussetzungen erwartet. So sollte man mit den Grundlagen der Windows Programmierung mit Hilfe des Win32 API vertraut sein. Begriffe wie Handler und Handle werden in der Diplomarbeit nicht erläutert. Einen kompletten Überblick über das Win32 API erhält man zum Beispiel in [Visual98]. Als weiterführende Literatur zum Thema Windows Programmierung empfiehlt der Autor [Lauer96] und [Hamilt96].

Da die Beispielanwendungen mit Delphi entwickelt wurden, sind Kenntnisse in dieser Programmiersprache ebenfalls von Vorteil.

 

1.3 Begriffe und Konventionen zurück nach oben nächster Abschnitt Inhaltsverzeichnis

In der Diplomarbeit werden überlicherweise die englischen Fachbegriffe nicht übersetzt, wenn dies das Verständnis des vorgebildeten Lesers beeinträchtigen würde. Häufig vorkommende Abkürzungen, wie IRP oder IRQL, werden zunächst im Text beschrieben und zusätzlich im Anhang noch einmal kurz erläutert.

Als Entwicklungsplattform wird Windows NT mit der Version 4.0 angenommen. Bis auf wenige Ausnahmen sind die mit dem Windows NT DDK Version 4.0 erstellten Treiber jedoch kompatibel zu allen Versionen von Windows NT, von Version 3.1 bis Version 4.0. Laut [Solom98] sollen die Treiber auch vom zukünftigen Windows NT 5.0 unterstützt werden.

 





written 1998/1999 by Guido Wischrop
all rights reserved