Kapitel 3 - Scheduling Flashcards
Was ist ein Short-Term-Scheduler?
dieser Scheduler entscheidet welcher der im Hauptspeicher befindlichen Prozesse als nächstes zur Ausführung auf die CPU geladen wird.
Was macht der Long-Term-Scheduler?
der entscheidet welche Prozesse überhaupt in die Ready Queue eingegliedert werden, d.h. beim Versuch, sie zu starten, entscheidet dieser Scheduler darüber, ob der Start erlaubt wird oder nicht. Anwendungsbeispiel: Cron-Jobs
Was sind die Zuteilungskriterien aus Sicht der Prozesse und aus Sicht der CPU?
Prozesse:
(Fairness) Kein prozess soll zu lange auf CPU-Zuteilung warten
(Wichtigkeit) Prozesse mit hoher Priorität sollen bevorzugt werden
CPU:
Maximaler Durchsatz (Anzahl Prozesse pro Sekunde)
Maximale Auslastung der CPU (Effizienter Einsatz der CPU)
Minimale mittlere Wartezeit (Zeit in der Ready-Queue)
Minimale mittlere Antwortzeit ( Zeit bis zur ersten CPU zuteilung)
Minimale mittlere Systemzeit ( Wartezeit + Bedienzeit)
wobei Bedienzeit = benötigte CPU-Zeit eines Prozesses)
Kriterien sind teilweise widersprüchlich
Welche 2 Arten von Scheuding-STRATEGIEN gibt es?
Präemtiv und Nicht-Präemtiv
Was versteht man und Präemtiv bzw. Nicht-Präemtiv
Präemtiv: -Scheduler hat volle Kontrolle über die CPU
- Prozesse können während ihrer Bearbeitung suspendiert werden.
Nicht Präemtiv: - Prozesse können nicht unterbrochen werden
- Prozess gibt CPU aktiv ab durch zb exit(), sched_yield(),..
Wann gibt es ein Kontextwechsel bei NICHT-Präemtiven Scheduling?
Wenn der Prozess beendet wird,
der Prozess die CPU explizit freigibt
oder der Prozess auf Betriebsmittel zugreift.
Was lässt sich über FIFO/FCFS sagen? (Fairness)
(NICHT-Präemtiv)
Fair, aber Langzeitjobs werden bevorzugt.
Meist schlechte mittlere Wartezeit, Antwortzeit, Anzahl wartender Jobs,..
FIFO eignet sich nicht um mehrere Prozesse scheinbar gleichzeitig auszuführen. Bietet sich also eher zb für den Drucker an da es dort auf die Reihenfolge ankommt.
Was lässt sich über LIFO/LCFS sagen?
Gleiche Nachteile wie FIFO + unfair
lässt sich aber auch präemtiv realisieren(LIFO-PR): jedes Mal, wenn ein neuer Prozess den Zustand ready einnimmt, wird er sofort bedient, der bisher bearbeitete Prozess wird suspendiert und später fortgesetzt.
Bsp: Interrupt-Behandlung
Was ist die mittlere Wartezeit bei FIFO und was ist die mittlere Wartezeit bei LIFO?
tfifo = (wartezeit von P1,..,Pn) / Anzahl der Prozesse
Was versteht man unter SPT bzw. SJF?
Shortest Processing Time bzw. Shortest Job First (nicht-präemptiv)
Voraussetzung bedienzeit im Voraus bekannt.
Was ist der Nachteil von SPT?
Langläufer werden benachteiligt. Langläufer werden evtl. nie bedient.
Langläufer können nach Start nicht unterbrochen werden.
Daher die Präemtive Variante SRPT.
Was ist der Vorteil/Nachteil von SRPT?
langlaufende Prozesse behindern keine anderen Prozesse.
Aber trotzdem können Langläufer evtl. nie (fertig)bedient werden.
Zeit für den Kontextwechsel wird nicht berücksichtigt.
Was ist ein Mid-Term-Scheduler?
.. sorgt dafür dass Prozesse die in näherer Zukunft ausgeführt werden sollen, sich im Hauptspeicher befinden, da ein Zugriff auf die Festplatte relativ langsam ist und ein Laden des Prozesses in den Hauptspeicher genau dann, wenn er die CPU zugeteilt bekommt, das System bremsen würde.