Skip to main content

Gerätetreiber

Gerätetreiber ist eine Softwarekomponente, welche Interaktionen zwischen BS und Controller des Peripheriegeräts steuert.

Geraeteverwaltung-2.jpg

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

Controller-ready.jpg

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

image-1663060051178.png

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.

Kontextwechsel und ISR.jpg

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

image-1663060051178.pngTreiber 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