Aspekte der CPU-Verteilung
CPU-Vergabe in Abhängigkeit der Scheduling-Einheit:
Prozess-basiert: CPU wird nur ganzen Prozessen zugeteilt
Thread-basiert: CPU wird Threads zugeteilt
CPU-Vergabe in Abhängigkeit des Prozesstyps:
Prozess A ist CPU-lastig (rechenintensiv)
Prozess B ist Ein-/Ausgabe-lastig
Prozessmanager
Zeitscheibenverfahren
=> Zeitscheibe ist fix, wichtigere Prozesse sind öfter an der Reihe
Scheduling-Kriterien und Ziele
Arten des Scheduling-Verfahren
non-preemptive Verfahren
Weiteres Problem von SJF:
Eigentlich weiß man nicht, wie lange ein Prozess läuft, deshalb ist die Implementation schwierig und man bräuchte eine bestimmte Vorhersage, aber kein anderes Verfahren ist schneller
preemptive Verfahren
Bei PS wird gewechselt, wenn ein Prozess mit höherer Priorität erscheint
Ausführzeit, Wartezeit, Verweilzeit
Multi-Level-Scheduling
Gibt es beispielsweise Round Robin als Verfahren, wird das nur innerhalb einer Queue umgesetzt
Wie lange soll die Zeitscheibe (Quantum) für einzelne Prozesse sein?
-> Je nach Taktfrequenz, kann man kürzere oder längere Quanten verwenden
Wie wird die Priorität für einzelne Prozesse eingestellt bzw. ermittelt?
Statische Festlegung zum Start des Prozesses
Zusätzlich adaptive (dynamische) Festlegung möglich → Man spricht dann auch von relativer Priorität
Priorisierung je nach Wichtigkeit für das Betriebssystem
Kann selbst festgelegt werden
Abhängig von Einfluss auf Betriebssystem
Uniprozessor- vs. Multiprozessor-Scheduling
Scheduling in Realtime-Systemen
Last changeda month ago