Gerätetreiber
Gerätetreiber ist eine Softwarekomponente, welche Interaktionen zwischen BS und Controller des Peripheriegeräts steuert.
die Geräteverwaltung enthält verschiedene Treiber mit gleichem Ablauf:
1. Initialisierung des Geräte-Controllers
2. Gerät dem Betriebssystem bekannt machen
3. Bereitstellen einer Schnittstelle zum Geräte-Controller
4. Interruptbehandlung für ein Gerät
5. Bereitstellen einer Schnittstelle zur Geräteverwaltung
Initialisierung des Geräte-Controllers
Treiber initialisiert den Controller seines zugehörigen Geräts beim Systemstart
→ Damit stehen gültige Werte in Registern des Controllers
→ das Gerät selbst wird über seinen Controller bereit für die Entgegennahme von Befehlen
Gerät dem Betriebssystem bekannt machen
Ein Treiber macht der Geräteverwaltung des Betriebssystems das Gerät bekannt, damit kann das Gerät vom BS genutzt werden
Bereitstellen einer Schnittstelle zum Geräte-Controller
Treiber bildet Schnittstelle zwischen Geräteverwaltung und Controller des Geräts
→ Treiber muss wissen, welche Befehle der Controller zur Verfügung stellt
→ wie diese anzusprechen und in welcher Weise die Rückgabewerte zu interpretieren sind.
Interruptbehandlung für ein Gerät
Gerätetreiber ist zuständig für die Behandlung von Interrupts, die durch das zugehörige Gerät ausgelöst werden.
Die Interruptbehandlungsroutine ist Teil des Gerätetreibers!
Der Treiber ist Teil der Geräteverwaltung, welche wiederum ein Teil des BS ist
Außer Festplatten gibt es noch viel weitere Geräte, die von der Geräteverwaltung des Betriebssystems unterstützt werden müssen, und für die ein Treiber eingebunden ist.
Lange nicht alle Geräte unterstützen den Einsatz eines DMA-Controllers!
→ die Interruptverarbeitung im Treiber kann unterschiedlich ablaufen: mit DMA oder kein DMA
→ das Interruptkonzept eine einfache Reaktionsmöglichkeit des Treibers auf die ungefragt eintreffenden Daten
Bereitstellen einer Schnittstelle zur Geräteverwaltung
Treiber muss auch mit der Geräteverwaltung des Betriebssystems kommunizieren
→ Er ist Mittel zwischen beiden Welten mit Geräteklassen, mit jeweils eigenen Schnittstelle.
→ Treiber muss von Geräteverwaltung für Geräteklasse gedachte Funktionen implementieren
No Comments