Kapitel 8. Sonstige Treibersubsysteme

Inhaltsverzeichnis
8.1. Blockorientierte Gerätetreiber
8.1.1. Bevor es richtig losgeht ...
8.1.2. Daten kerneloptimiert transferieren
8.1.3. Grundlegendes zu BIO-Blöcken
8.1.4. Treiberoptimierter Datentransfer
8.2. USB-Subsystem
8.2.1. USB programmtechnisch betrachtet
8.2.2. Den Treiber beim USB-Subsystem registrieren
8.2.3. Die Geräteinitialisierung und die -deinitialisierung
8.2.4. Auf das USB-Gerät zugreifen
8.3. Netzwerk-Subsystem
8.3.1. Datenaustausch zur Kommunikation
8.3.2. Geräteinitialisierung
8.3.3. Netzwerktreiber deinitialisieren
8.3.4. Start und Stopp des Treibers
8.3.5. Senden und Empfangen

Die Gerätelandschaft eines modernen Rechnersystems ist vielfältig und besteht beileibe nicht nur aus den zeichenorientierten Geräten, die direkt mit dem Prozessor über den internen, parallelen Systembus angeschlossen sind. Vielmehr gibt es daneben auch die blockorientierten Geräte und die über ein standardisiertes, meist serielles Bussystem angeschlossene Hardware, wie sie beispielsweise USB-, Firewire- oder auch IrDA-Geräte darstellen.

Um Ihnen auch in diesem Umfeld erste Schritte zu ermöglichen, sollen in diesem Kapitel die Strukturen und Grundmechanismen für drei der vielen Subsysteme vorgestellt werden, nämlich für blockorientierte Geräte Blockorientierte Gerätetreiber, für USB-Geräte USB-Subsystem und schließlich für Netzwerkkarten Netzwerk-Subsystem. Die Einführung in die Netzkartentreiberprogrammierung wird sicherlich nicht ausreichen, um damit einen vollständigen Treiber zu entwickeln. Dazu ist das Thema zu umfangreich. Dennoch können Sie erste Schritte unternehmen, sehen, worauf Sie sich bei der Programmierung im Kontext des Netzwerk-Subsystems einlassen und die Unterschiede zu den zeichenorientierten Treibern kennen lernen.

Für alle drei Subsysteme gilt, dass das vermittelte Wissen ausreichen sollte, um bei Bedarf die zu den Subsystemen gehörigen Dokumentationen zu verstehen und die dort beschriebenen, ausgeklügelteren Mechanismen zu verwenden.


Lizenz