2 - Scheduler [ID:26855]
50 von 311 angezeigt

Moin Moin liebe Leute, willkommen zum nächsten Video für die Vollisierungen Betriebssysteme.

Weiter geht es im Bereich Fadenverwaltung, Scheduler.

Also wir sind immer noch dabei unseren Ablauf zu planen.

Bisher haben wir gesagt, wir wissen wie man zwischen Fäden hin und her wechselt.

Aber wir wissen eigentlich noch nicht zu welchem Faden man jeweils wechselt.

Welchen nehme ich denn als nächstes? Wer ist denn der nächste wichtige?

Wie auch man jetzt wichtig definieren möchte.

Gut, da sagt man jetzt der Scheduler, das ist der Teil vom Betriebssystem,

der diese strategische Entscheidung fällt.

Der guckt sich jetzt aus, was ist der nächste Prozess?

Was ist denn die nächste Koroutine, die laufen soll?

Woraus wird ausgewählt?

Man hat typischerweise natürlich eine Liste von Koroutinen, haben wir gesagt.

Die ist manchmal kürzer, manchmal länger, keiner weiß.

Die wird letztendlich der Reihe nach durchsucht und man guckt sich den wichtigsten dann aus.

Was auch immer der wichtigste ist, da gucken wir uns nachher noch verschiedene Scheduling Strategien an.

Gut, in der Liste drin ist typischerweise auch immer der aktuell laufende Faden.

Also wenn der aktuelle Faden gerade mal durch einen Timer unterbrochen wurde

und im Timer Interrupt das Resum aufgerufen wird,

dann gucken wir uns an welcher Faden soll als nächstes rankommen.

Es kann auch der gerade unterbrochene laufende Faden wieder sein.

Der wird dann vielleicht unterbrochen.

Wir gucken uns die Liste an und sehen, eigentlich gibt es nichts besseres zu laufen.

Dann lassen wir den aktuellen Faden einfach weiterlaufen.

Wenn dann klar ist welcher Faden weiterlaufen soll,

dann wird dieser Faden, der neue, dem Dispatcher übergeben.

Der Dispatcher, das ist letztendlich die Resum-Funktion,

die schaltet dann zu dem neu ausgewählten Faden um.

Das ist die typische Zweiteilung, die man im Betriebssystem hat.

Den Dispatcher hat der weitestgehend wahrscheinlich schon geschrieben.

Das ist die Resum-Funktion, mehr ist es eigentlich nicht.

Jetzt ist die Frage, welchen Faden nehmen wir als nächstes?

Da gibt es jetzt in der Literatur, wenn ihr da mal reinguckt, Tonnen von Zeugs.

Das gibt es also hochgradig theoretisch abgehandelt in vielen, vielen Büchern.

Ihr seht hier mal so eine Auflistung, was kann man dann alles bedenken,

wenn man Scheduling-Entscheidungen trifft.

Wir gehen diese Liste einfach, das sind einfach nur Beispiele,

da könnte man noch 100 Punkte wahrscheinlich mehr dazu schreiben.

Das sind aber auch mal hier so die wichtigsten.

Gehen wir die der Reihe nach mal durch.

Woran macht man jetzt Scheduling letztendlich fest?

Fangen wir mal mit der Betriebsmittelart da oben an.

Also man kann beispielsweise das CPU-Scheduling machen.

Das ist das, was euch vermutlich auch als erstes in den Sinn kommen wird.

Warum macht man das?

Typischerweise haben wir mehr laufige Prozesse als CPUs zur Verfügung.

So ein typischer Wert für eine Anzahl der CPUs ist heutzutage so 2, 4, 8 vielleicht.

Aber Prozesse in einem System gibt es häufig hunderte.

Gut, dann muss man irgendwie sehen, dass man zwischen den einzelnen Prozessen hin und her wechselt.

Immer wenn ein Timer-Interrupt kommt, dann speichern wir den Zustand vom aktuellen Prozess ab,

Teil einer Videoserie :
Teil eines Kapitels:
Fadenverwaltung

Zugänglich über

Offener Zugang

Dauer

00:30:19 Min

Aufnahmedatum

2020-12-15

Hochgeladen am

2020-12-18 15:49:39

Sprache

de-DE

9. Kapitel der Vorlesung Betriebssysteme.

Folien zum Video.

Tags

betriebssysteme operating systems
Einbetten
Wordpress FAU Plugin
iFrame
Teilen