3.4.4.4 Interruptbehandlung für ein Gerät

[gesichtete Version][gesichtete Version]
Zeile 86: Zeile 86:
</p>
</p>
<p>
<p>
<big>(Du kannst für diese Aufgabe vom Standardbeispiel ausgehen: Es große Datei soll von der Festplatte in den Hauptspeicher kopiert werden.)</big>
<small>(Du kannst für diese Aufgabe vom Standardbeispiel ausgehen: Es große Datei soll von der Festplatte in den Hauptspeicher kopiert werden.)</small>
</p>
</p>
</loop_task>
</loop_task>

Version vom 19. November 2014, 16:59 Uhr

Interruptbehandlung für ein Gerät

Aus dem Abschnitt Datentransfer und Interrupts ist bereits das folgende Video bekannt:

video


Es geht u.a. auf eine Interruptbehandlungsroutine ein, welche im Video ganz allgemein als ein "Teil des Betriebssystems" bezeichnet wird (ISR #14 ab Minute 1:44).

Diese allgemeine Beschreibung wird nun etwas konkretisiert:


Wichtig

Eine Interruptbehandlungsroutine ist Teil eines Gerätetreibers!

(Und der Treiber ist Teil der Geräteverwaltung, welche wieder ein Teil des Betriebssystems ist.)


Aufgabe 1

Aufgabe

Betrachte noch einmal die bereits erläuterten Tätigkeiten eines Treibers.

Welche der dort aufgelisteten Tätigkeiten beinhaltet die Interruptbehandlung für ein Gerät?

Besteht die Interruptbehandlung vielleicht aus mehr als nur einer Tätigkeit?


Aufgabe 2

Aufgabe

Wenn du in der vorangegangenen Aufgabe die Tätigkeiten identifiziert hast, welche durch die vom Treiber bereitgestellte Interruptbehandlungsroutine durchgeführt werden, dann kannst du sicher auch die folgende Frage beantworten:

Warum kann diese Tätigkeiten nur der Treiber vollständig und korrekt durchführen?


Interruptbehandlung bei einzeln übertragenen Datenwörtern

Das oben eingebundene Video verdeutlicht die Interruptbehandlung bei einzeln übertragenen Datenwörtern. Dabei hatte ein Datenwort gerade einmal die Breite des Datenbusses.

Im Abschnitt Datentransfer und Interrupts findet sich zudem eine Auflistung vieler durchzuführender Schritte, die bei der Übertragung jedes einzelnen Datenwortes anfallen.

Moderne Systeme arbeiten jedoch schon lange nicht mehr nach diesem Verfahren, sondern es kommt ein DMA-Controller zum Einsatz.


Interruptbehandlung bei Einsatz eines DMA-Controllers

Auf der Seite zum DMA-Controller wurde erläutert, wie sich der Einsatz eines DMA-Controllers auf die Anzahl der zu verarbeitenden Interrupts auswirkt.


Aufgabe 3

Aufgabe

Erläutere in einem Satz:

Wie wirkt sich der Einsatz eines DMA-Controllers auf die Anzahl der zu verarbeitenden Interrupts aus?

(Du kannst für diese Aufgabe vom Standardbeispiel ausgehen: Es große Datei soll von der Festplatte in den Hauptspeicher kopiert werden.)


Aber nicht jedes Gerät ist DMA-fähig!

- to do -