Unter Scheduling (englisch für „Zeitplanerstellung“), auch Zeitablaufsteuerung oder Maschinenbelegungsplanung genannt, versteht man das Erstellen eines Ablaufplanes (schedule), der Prozessen zeitlich begrenzt Ressourcen zuteilt (Allokation). Das Scheduling folgt auf die summarische Planung der anstehenden Aufgaben. Auf das Einteilen zu einem Pool an Ressourcen folgt später das Einlasten für eine einzelne Instanz dieses Pools.
In der Betriebswirtschaft legt Scheduling meist fest, welche einzelnen Auftragsinstanzen wann (in welcher Reihenfolge) und an welchen Produktionsmaschinen (in welcher Zuordnung) ausgeführt werden, steuert also die Produktionsprozesse vom Abschluss der Auftragsplanung (englisch: planning) über die Einlastung (englisch: dispatch) in der Ausführung (englisch: processing) mit begleitender Auftragssteuerung (englisch: control) mit Beobachtung des Zustandes (englisch: monitoring) und Rückmeldung von Ereignissen (englisch: feedback) bis zum Abschluss aller verketteten Teilprozesse jeder einzelnen Auftragsinstanz. In der Produktionswirtschaft wird auch einfach von Maschinenbelegungsplanung gesprochen.
In der Informatik im Bereich der Betriebssysteme legt Scheduling fest, welche Prozesse wann und wie viel Prozessorzeit erhalten, im Bereich der Datenbanktechnik wird mit dem Scheduling festgelegt, wie parallele Transaktionen ablaufen müssen, ohne die Konsistenz der Datenbank zu verletzen, siehe auch: Scheduler (Seite zur Begriffsklärung).
1 Kriterien
2 Präemptive und nichtpräemptive Verfahren
3 Spezielle Begriffe der Betriebswirtschaftslehre
4 Scheduling-Probleme
5 Scheduling in der Informatik
Kriterien[Bearbeiten]
Ein gutes Scheduling-Verfahren zeichnet sich dadurch aus, dass es die folgenden Kriterien optimiert:
Durchsatz: Möglichst viele Prozesse werden in möglichst kurzer Zeit abgearbeitet.
Effizienz: Die zur Verfügung stehenden Ressourcen werden möglichst vollständig ausgelastet.
Fairness: Die Ressourcen werden den Prozessen gerecht zugeteilt, das heißt kein Prozess wird dauerhaft vernachlässigt. Man sagt auch, das Verfahren vermeide das „Verhungern“ (starvation) von Prozessen.
Transparenz: Die einzelnen Schritte der Prozesse werden in ihrem Ablauf und in ihrer Zuordnung zu Ressourcen klar erkannt und getrennt.
Termineinhaltung: Prozesse, die zu einem bestimmten Termin beendet sein müssen, werden so geplant, dass der Termin eingehalten wird. Während in der Betriebswirtschaft präzise einzuhaltende Termine „Deadlines“ und ungefähr einzuhaltende Termine „Fertigstellungstermine“ heißen, spricht man in der Informatik nur von Deadlines und unterscheidet stattdessen folgende Arten von Echtzeitanforderungen: „Harte Echtzeit“ hält alle Deadlines präzise ein, „weiche Echtzeit“ hält Deadlines einigermaßen ein und Best Effort („so gut wie mö