4 - Verwandte Konzepte [ID:24343]
50 von 165 angezeigt

Moin Moin liebe Leute, nächstes Video zur Vollesung von Betriebssystemen.

Wir waren beim Kapitel Soft-IRQs, wir haben uns da schon alles mögliche angeguckt.

Jetzt zum Abschluss noch ein paar Hinweise auf verwandte Konzepte und welche davon in

welchen Betriebssystemen eingesetzt werden.

Also ein paar verwandte Konzepte.

Erstes stammt jetzt vom Beispiel her aus der Linux Welt, gibt es aber auch in anderen

Unix Varianten das Konzept der sogenannten Top- bzw.

Bottom-Halfs.

Also es gibt bei der Interrupt-Abarbeitung sozusagen eine obere, eine untere Hälfte.

Naja, das sind gerade die Dinger, die wir so als hardware-related bzw.

software-related Teile bezeichnet haben.

Die Soft-IR-Cues bzw. der Hardware-Teil, der den Software-Teil triggert.

Wie funktionieren die?

Interrupt-Händler liest Daten aus dem Gerät, kennen wir schon, und setzt ein Bit, das haben

wir schon.

Das Trigger wird aufgerufen.

Allerdings, und das ist jetzt der kleine Unterschied zu dem, was ich euch bisher erzählt

habe, bei dem Trigger-Aufruf wird nicht sofort der Händler aufgerufen, sondern es wird damit

gewartet, bis der unterbrochene Prozess in den User-Mode zurückkehrt.

So nach der Idee, alles ist wichtig, der User-Gram nicht.

Also solange der unterbrochene Prozess im Kern irgendwas arbeitet, der Kerngeschichten

sind wichtig, die unterbrechen wir nicht durch den Soft-IR-Cue-Händler, sondern damit warten

wir bis zu dem Zeitpunkt, wo der Prozess in den User-Bereich zurückkehrt, also die User-Anwendung

fortgesetzt wird.

Andere Variante wäre der sogenannte Kernel Soft-IR-Cue-Demon.

Wofür ist der gut?

Auch stammt aus der Linux-Welt das Beispiel.

Ihr erinnert euch im letzten Video an die Schleife in der Enable-Methode.

Wenn wir die Soft-IR-Cues wieder Enable machen, was passiert da?

Wir gucken uns das Pending-Bit an, setzen es auf false, wenn es dann true war, und rufen

den die Behandlungsfunktion auf.

Während die Behandlungsfunktion läuft, kann es natürlich sein, dass wieder ein Interrupt

eintritt, der das Pending-Bit setzt, das heißt, wir müssen die Schleife noch einmal durchlaufen.

Das kann rein theoretisch unendlich oft passieren.

Stellt euch vor, aus dem Internet befeuert euch jemand mit Netzwerk-Anfragen.

Dann empfangt ihr welche, der Hardware-IoQ setzt das Pending-Bit und ihr beantwortet

die Anfrage.

Während ihr die Anfrage beantwortet, kommt schon die nächste Anfrage, die bearbeitet

ihr, bearbeitet ihr und so weiter, mit dem Effekt, dass euer Rechner eigentlich tot ist.

Der beantwortet zwar nach außen hin brav seine Anfragen, aber intern passiert eigentlich

nichts mehr.

Euer ganz normale, was weiß ich, euer Shell, euer Desktop und so ist mehr oder weniger

eingefroren, weil er sich nur noch in dieser Interrupt-Abarbeitung befindet.

Da ist jetzt die Idee, diese Schleife, die durchlaufen wir jetzt nicht so lange, dass

Pending-Bit gesetzt ist, sondern nur so lange, dass Pending-Bit gesetzt ist und wir nicht

mehr als 100 mal durchgelaufen sind.

Also wir begrenzen die Anzahl der Durchläufe.

Danach sagen wir, ne Moment, wir müssen noch andere Dinge tun.

Zwar soll die Händler-Aufrufgeschichte weiterhin passieren, aber jetzt nicht mehr so häufig.

Wie kann man das machen?

Teil einer Videoserie :
Teil eines Kapitels:
Unterbrechungen, SoftIRQs

Zugänglich über

Offener Zugang

Dauer

00:13:09 Min

Aufnahmedatum

2020-11-16

Hochgeladen am

2020-11-19 11:28:13

Sprache

de-DE

5. Kapitel der Vorlesung Betriebssysteme.

Folien zum Video.

Tags

betriebssysteme operating systems
Einbetten
Wordpress FAU Plugin
iFrame
Teilen