3.4.3 Gerätetreiber

[unmarkierte Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
=Gerätetreiber=
=Gerätetreiber=
<p>
<loop_index>Treiber@Gerätetreiber</loop_index>
Damit die Geräteverwaltung ihrer Aufgabe nachkommen kann, besitzt sie gerätespezifische Anteile, die sogenannten Gerätetreiber oder kurz Treiber. Ein Treiber ist demnach auch ''ein Stück Software''.
</p>
<br />
== Definition: Gerätetreiber ==
<p>
<loop_area type="definition">
<p>
Unter einem '''Gerätetreiber''' (oder kurz '''Treiber''') versteht man eine Softwarekomponente, welche zur Geräteverwaltung des Betriebssystems gehört, und Interaktionen zwischen Betriebssystem und Controller eines bestimmten Peripheriegeräts steuert.
</p>
</loop_area>
</p>
<br />
<p>
Die folgende Abbildung verdeutlicht diese Definition:
</p>
<p>
<loop_figure title="Treiber als Mittler zwischen Controller und Geräteverwaltung" description="" copyright="CC-BY" index=true show_copyright=true>
[[Datei:geraeteverwaltung-2.jpg]]
</loop_figure>
</p>
<br />
<p>
Wie man sieht, enthält die Geräteverwaltung viele verschiedene Treiber. Warum das so sein muss, klärt die folgende Aufgabe.
</p>
<br />
== Aufgabe 1 ==
<p>
<loop_area type="task">
<loop_task title="Du hast doch schon mal einen Treiber installiert, oder?">
<p>
Dann weißt du, dass ein Anwender (oder besser: der Administrator des Systems) einen Treiber auch zeitlich nach der Installation des Betriebsystems noch hinzufügen kann. Aber:
</p>
<p>
* Wer ist üblicherweise für die Programmierung eines Treibers für ein spezielles Gerät zuständig?
</p>
<p>
* Warum ist es i.d.R. nicht sinnvoll, dass Treiber von jemand anderen programmiert werden? (Wer könnte dieser "jemand anderes" ggf. sein?)
</p>
</loop_task>
</loop_area>
</p>
<br />
== Aufgabe 2 ==
<p>
<loop_area type="task">
<loop_task title="Treiberausführung im User- oder im Kernel-Mode?">
<p>
Wenn ein Treiber wie hier beschrieben eine Software ist, dann werden Bestandteile dieses Treibers (<math>\rightarrow</math> Befehle, [[Maschinencode]]) irgendwann auch mal auf der CPU ausgeführt.
</p>
<p>
Läuft diese Ausführung dann im [[Kernel-Mode,_User-Mode_und_Systemaufrufe#User-Mode|User-Mode]] oder im [[Kernel-Mode,_User-Mode_und_Systemaufrufe#Kernel-Mode|Kernel-Mode]] ab?
</p>
</loop_task>
</loop_area>
</p>
<br />
<hr />
<sub>Diese Seite steht unter der [http://creativecommons.org/licenses/by/3.0/deed.de Creative Commons Namensnennung 3.0 Unported Lizenz] [http://creativecommons.org/licenses/by/3.0/deed.de http://i.creativecommons.org/l/by/3.0/80x15.png]
</sub>

Version vom 14. November 2014, 15:05 Uhr

Gerätetreiber

Damit die Geräteverwaltung ihrer Aufgabe nachkommen kann, besitzt sie gerätespezifische Anteile, die sogenannten Gerätetreiber oder kurz Treiber. Ein Treiber ist demnach auch ein Stück Software.


Definition: Gerätetreiber

Definition

Unter einem Gerätetreiber (oder kurz Treiber) versteht man eine Softwarekomponente, welche zur Geräteverwaltung des Betriebssystems gehört, und Interaktionen zwischen Betriebssystem und Controller eines bestimmten Peripheriegeräts steuert.


Die folgende Abbildung verdeutlicht diese Definition:

Geraeteverwaltung-2.jpg


Wie man sieht, enthält die Geräteverwaltung viele verschiedene Treiber. Warum das so sein muss, klärt die folgende Aufgabe.


Aufgabe 1

Aufgabe

Dann weißt du, dass ein Anwender (oder besser: der Administrator des Systems) einen Treiber auch zeitlich nach der Installation des Betriebsystems noch hinzufügen kann. Aber:

  • Wer ist üblicherweise für die Programmierung eines Treibers für ein spezielles Gerät zuständig?

  • Warum ist es i.d.R. nicht sinnvoll, dass Treiber von jemand anderen programmiert werden? (Wer könnte dieser "jemand anderes" ggf. sein?)


Aufgabe 2

Aufgabe

Wenn ein Treiber wie hier beschrieben eine Software ist, dann werden Bestandteile dieses Treibers ( Befehle, Maschinencode) irgendwann auch mal auf der CPU ausgeführt.

Läuft diese Ausführung dann im User-Mode oder im Kernel-Mode ab?



Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png