Moin Moin liebe Leute, willkommen zum nächsten Video zur Vollesungsreihe Betriebssysteme.
Wir sind nach wie vor bei der Fadenverwaltung, beim Scheduling, jetzt am Beispiel Windows.
Wir gucken uns mal an, wie Scheduled Windows.
Erstmal muss man dazu wissen, wie werden jetzt Prozesse, Fäden und so weiter in Windows definiert.
In Windows ist ein Prozess, das gelbe hier sozusagen, das ist erst einmal eine Ablaufumgebung.
Heißt Speicher, das ist Speicher für globale Daten und Heap.
Das ist Speicher fürs eigentliche Programm.
Und das ist Speicher für die einzelnen Stacks, von den einzelnen Threads, die da drin laufen.
Ja und wie man hier sieht, es kann innerhalb eines Prozesses mehr als einen Faden geben.
Gut, so einen Faden, mindestens einen brauchen wir logischerweise, sonst ist ein Prozess letztendlich ja nur eine tote Sammlung von Nullen und Einzelnen im Speicher.
Also einen Faden haben wir mindestens und der führt letztendlich gut aus.
Eventuell gibt es von diesen Fäden mehr.
Man kann noch dazu definieren, haben wir uns am Anfang bei den Coroutinen mal angeguckt, noch sogenannte Fibers definieren.
Das wären dann noch User Mode Threads, die benutzt aber unter Windows eigentlich keiner.
Bleibt also typischerweise bei den Threads und die Threads, das sind die Dinger, also die laufen jetzt innerhalb von unserem Prozess Kontext und die kriegen vom Scheduler Rechenzeit zugeteilt.
Wie kriegen sie Rechenzeit zugeteilt? Präemptiv, heißt sie können die Rechenzeit auch wieder entzogen kriegen.
Prioritätsgesteuert, heißt wir haben Prioritäten, die vergeben werden, gucken wir uns gleich genauer an.
Und es heißt dann immer ein Thread mit einer höheren Priorität verdrängt einfach ein Thread mit niedriger Priorität, ist klar.
Wenn wir typischerweise mehrere Prozesse, mehrere Threads mit der gleichen Priorität haben, dann geht es innerhalb dieser Threads um, also das typische Round-Dropeln.
Welche Prioritäten gibt es? Ja, eigentlich gibt es im Wesentlichen zwei Klassen.
Das eine sind die, ich sag mal normalen Programme, die einfach immer mal Rechenzeit kriegen sollen.
Und es gibt realzeitfähige Programme, die definiert Rechenzeit kriegen sollen.
Was gehört dazu? Ja, dazu gehören alle Dinge aus dem typischen Multimedia-Welt.
Wenn ich ein Video abspiele, brauche ich immer eine bestimmte Rechenzeit.
Ich muss immer mal wieder zu bestimmten Zeitpunkten neue Bilder berechnen, neue Audio-Ausgabe berechnen.
Und wenn das nicht realzeitmäßig passt, dann knackt es im Lautsprecher oder es ruckelt das Video.
So ähnlich, wenn ich CDs oder DVDs brenne.
Die DVD oder CD dreht sich im Laufwerk und wird jetzt mit Nullen und Einzen bespielt.
Die Nullen und Einzen müssen immer rechtzeitig da sein, sonst tauchen einfach Lücken in dem Datenstrom auf.
Das geht auch nicht. Das heißt, das sind auch hohe Prioritäten.
Also wenn jetzt das CD-DVD-Laufwerk neue Daten braucht, muss es die auch kriegen.
Deshalb solche Programme, so ein DVD-Brenner oder so, hat dann halt die höchste Priorität.
Dann gibt es noch Prioritätsebene Null, so nach dem Motto, wenn gar nichts zu tun ist,
ja dann haben wir noch einen Flat, der den Rechner ein bisschen aufräumt.
Jetzt werden die Zeitscheiben definiert.
Zeitscheiben werden als sogenannte Quanten definiert.
Also immer eine Zeitscheibe ist sozusagen ein Quantum.
Allerdings, das Quantum besteht dann aus mehreren Glockticks, gegebenenfalls.
Also bei einem normalen Hintergrundprozess ist das Quantum 6 Time-Attacks lang.
Bei einem Thread in einem Vordergrundprozess 12 Time-Attacks.
Der aktive Thread im Vordergrundprozess sogar 18 Time-Attacks.
Woher weiß man jetzt, was ein Hintergrund, was ein Vordergrundprozess ist?
Ja, typischerweise ein Prozess, der eine Verbindung zur Tastatur, zur Maus oder so hat,
ist ein Vordergrundprozess.
Hintergrundprozess, der interagiert mit der Maus, mit der Tastatur.
Ich hatte auch vielleicht kein grafisches Ausgabefenster oder so.
Und wie unterscheidet man jetzt Vordergrundprozesse und aktive Vordergrundprozesse?
Ja, Vordergrundprozesse sind eben Prozesse, die irgendwie eine Verbindung zur Tastatur, zur Maus und so haben.
Und aktiv werden sie genau dann, wenn sie auch wirklich Zeichen von der Tastatur,
beispielsweise entgegennehmen.
Presenters
Zugänglich über
Offener Zugang
Dauer
00:24:05 Min
Aufnahmedatum
2020-12-15
Hochgeladen am
2020-12-18 15:48:39
Sprache
de-DE
9. Kapitel der Vorlesung Betriebssysteme.