3.4.3 Gerätetreiber

[unmarkierte Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
 
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Gerätetreiber=
 
<loop_index id="5fa9785d9f189">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 eine 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 id="5fa9785d9f195">
[[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?" id="5fa9785d9f19c">
<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?" id="5fa9785d9f1a2">
<p>
Wenn ein Treiber&nbsp;- wie hier beschrieben&nbsp;- 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>

Aktuelle Version vom 10. November 2020, 13:59 Uhr

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 eine 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