Ja, mein Freund, liebe Leute, willkommen zum nächsten Video zur Vorlesungsreihe Betriebssysteme.
In diesem Video soll es gehen um die Hardware von Unterbrechungen, also wie generiert die
Hardware interrupts, was kann die Hardware uns alles bieten.
In diesem Video zuerst einmal die Grundlagen, in den nachfolgenden Videos kommen dann Beispiele,
welche Hardware es käuflich zu erwerben gibt.
Es soll gehen in diesem Video um die Unterbrechungsbehandlung, den Hardware-Teil und dann natürlich auch
dann die, wie programmiere ich diese Hardware-Teile.
Kurz zur Agenda, ich möchte am ersten Schritt das Ganze ein bisschen einordnen und die Grundlagen
euch erklären, wie sie so Hardware aus die Interrupts verteilen kann.
In weiteren Videos kommen dann Beispiele über verschiedene Hardware-Architekturen und dann
eine entsprechende Zusammenfassung.
Ja, kurz zur Einordnung.
Also, wofür haben wir überhaupt Interrupts?
Ihr erinnert euch vielleicht an SP1, SP2.
Die Idee ist, dass wenn ein Prozess eine Ausgabe machen will, er häufig warten muss, weil die
Ein-Ausgabe-Geräte einfach schlicht langsamer sind als die CPU und manchmal natürlich unter
Umständen sogar sehr lange warten muss.
Also wenn ein Prozess zum Beispiel von der Tastatur, was ein Zeichen eingegeben haben
möchte, der Benutzer aber gerade Essen gegangen ist, dann kann das natürlich gegebenenfalls
auch eine Stunde dauern.
Und diese Zeit, da möchte man dann sagen, ja dann legen wir den Prozess, der jetzt auf
irgendwas wartet, den legen wir einfach schlafen und den wecken wir wieder auf, wenn ein Interrupt
kommt, nämlich der kommt, wenn dann ein Zeichen wieder verfügbar ist.
Und in der Zwischenzeit schläft der Prozess und die CPU hat die Möglichkeit dann andere
Prozesse auszuführen.
Das ist das eine, das sind die typischen Ein-Ausgabe-Geräte, Ein-Ausgabe-Interrupts, die dazu gehören.
Und das zweite, was man zu ähnlichen Zeiten dann eingeführt hat, ist, dass es auch Timer-Interrupts
gibt, also von der Uhr gesteuerte Unterbrechung, die man nutzen kann, um Prozesse zu verdrängen.
Also wenn ein Prozess, wenn mehrere Prozesse laufeig sind und ein Prozess schon eine Weile
gelaufen ist, dass der dann einen Interrupt kriegt und durch die Interrupt-Behandlung
dann umgeschaltet wird auf einen anderen Prozess, der dann die CPU bekommt.
Also das sind so die zwei typischen Interrupts, die wir uns angucken werden.
Später kommt noch ein dritter Typ dazu, aber erstmal hier die Ein-Ausgabe-Interrupts und
die Timer-Interrupts.
Gut, wie sind diese Interrupts hardwaremäßig verkabelt?
Ganz einfaches Beispiel hier, wir haben das Grüne soll den Bus darstellen, an dem Bus
dran hängt unsere CPU und in diesem Falle drei Ein-Ausgabe-Geräte.
Diese Ein-Ausgabe-Geräte, die haben alle jeweils eine, in diesem Falle blau gefärbte
Leitung, über die sie einem sogenannten Interrupt-Controller Interrupt melden können.
Also wenn hier beispielsweise ein Tastatur-Controller ein Zeichen von der Tastatur empfängt, dann
kann er über diese blaue Leitung per Eins signalisieren an den Interrupt-Controller,
die CPU sollte sich mal um mich kümmern.
Gut, und dieser Interrupt-Controller, der nimmt diese verschiedenen Interrupt-Anforderungen
von den Interrupt-Leitungen entgegen und meldet über eine Leitung der CPU, dass die CPU ihren
normalen Betrieb unterbrechen soll und sich mal um ihre Ein-Ausgabe-Geräte kümmern soll.
Also ihr seht, im einfachsten Fall wäre dieser Interrupt-Controller dieses blaue Kästchen
ein oder gar egal welches Gerät was möchte, die CPU soll ihren normalen Betrieb mal unterbrechen.
Gut, und dann könnte die CPU über den Bus, den Interrupt-Controller fragen, ja welche
von deinen Leitungen ist dann jetzt auf Eins, was soll ich denn tun?
Da ist mal so die ganz grobe Idee.
Presenters
Zugänglich über
Offener Zugang
Dauer
00:36:54 Min
Aufnahmedatum
2020-10-20
Hochgeladen am
2020-10-20 20:36:38
Sprache
de-DE
3. Kapitel der Vorlesung Betriebssysteme.