Scheduling: Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) Die Seite wurde neu angelegt: „Auf einem Computer laufen in der Regel zahlreiche Prozesse gleichzeitig ab, {{Abk|z.B.|zum Beispiel}} ein Prozess, der im Hintergrund die interne Uhr des Computers ticken lässt, ein Prozess, der die Netzwerkverbindung koordiniert, ein Prozess, der die Benutzeroberfläche des Desktops anzeigt und aktualisiert sowie Prozesse für laufende Anwendungen und viele weitere kleine Helfer im Hintergrund. Die zeitliche Verwaltung von Prozessen, also welcher P…“ |
(kein Unterschied)
|
Aktuelle Version vom 1. Juli 2025, 09:53 Uhr
Auf einem Computer laufen in der Regel zahlreiche Prozesse gleichzeitig ab, z.B. ein Prozess, der im Hintergrund die interne Uhr des Computers ticken lässt, ein Prozess, der die Netzwerkverbindung koordiniert, ein Prozess, der die Benutzeroberfläche des Desktops anzeigt und aktualisiert sowie Prozesse für laufende Anwendungen und viele weitere kleine Helfer im Hintergrund.
Die zeitliche Verwaltung von Prozessen, also welcher Prozess zu welcher Zeit wie lange bearbeitet wird, wird Scheduling genannt. Hierbei gibt es verschiedene Verfahren, wie z.B. First Come First Serve (FCFS), Shortest Job First (SJF), Shortest Remaining Time (SRT) oder auch Round Robin. Ihnen allen gemein ist, dass eine Warteschlange angelegt wird, in der die abzuarbeitenden Prozesse aufgelistet sind. In welcher Reihenfolge diese abgearbeitet werden, hängt vom Scheduling-Verfahren ab:
- First Come First Serve (FCFS)
- Der Prozess, der als erster in die Warteschlange eingereiht wird, wird auch als erster abgearbeitet. Der Vorteil hiervon ist, dass kaum zusätzlicher Arbeitsaufwand für die Prozessverwaltung betrieben werden muss und die CPU hauptsächlich mit den eigentlichen Prozessen ausgelastet ist.
- Shortest Job First (SJF)
- Der Prozess, der am schnellsten fertig ist, wird zuerst abgearbeitet. Durch dieses Verfahren wird die durchschnittliche Wartezeit für Prozesse erheblich reduziert. Bei besonders umfangreichen Prozessen kann es passieren, dass sie nie zum Zug kommen, weil ihnen immer ein kleinerer Prozess zuvorkommt (starvation). Außerdem muss die CPU für dieses Verfahren im Vorhinein wissen, wie lange ein Prozess laufen wird, was nicht immer ohne Weiteres vorhersehbar ist

- Round Robin (RR)
- Hier ist die Warteschlange der Prozesse zyklisch angeordnet, d.h. alle wartenden Prozesse werden nacheinander im Kreis aufgerufen. Jeder Prozess erhält dabei bei jedem Durchlauf ein festes Zeitfenster zugewiesen, in dem er laufen darf. Dadurch kommt zwar jeder Prozess immer mal wieder zum Zuge, allerdings bedarf es hier auch größeren Mengen an zusätzlicher Rechenleistung, um die jeweiligen Zwischenstände der Prozesse bis zur nächsten Ausführung zu speichern.
- Prioritätsbasiertes Scheduling
- Hier wird jedem Prozess eine Priorität zugewiesen und die Prioritäten bei der Zuweisung der Prozessorzeit berücksichtigt. Dies ist insbesondere bei Echtzeitanwendungen wichtig.
