Scheduling Verfahren

Aus Fachinformatiker Azubi
Wechseln zu: Navigation, Suche

Es gibt viele verschiedene Scheduling Verfahren nachdem ein Prozessor arbeitet. Ein Teil des Betriebssystemes(Scheduling) entscheidet welcher Prozess verarbeitet wird.

Ein gutes Scheduling Verfahren zeichnet sich durch folgende Punkte aus:

  • Effizienz (Prozessor ist stets ausgelastet)
  • Fairness (Prozesse erhalten einen gerechten Anteil)
  • Durchsatz (Zeitintervall kann bei Bedarf erhöht werden)

Die bekanntest vier werden hier erklärt anhand diesem Auslastung Beispiel.

Porzess Ankunftszeit Verarbeitungs
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2

First-come first-served

Das Verfahren First-come first-served arbeitet nachdem FiFo Prinzip. FiFo steht für First in, First Out. Dies bedeutet das, dass erste Pakete was kommt, geht als erstes wieder raus.

Es eignet sich für Lange Prozesse besser als für kurze.

Beispiel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A X X X
B X X X X X X
C X X X X
D X X X X X
E X X

Shortest Remaining Time

Shortest Remaining Time hat die Eigenschaft Prozesse anhand der Verarbeitungszeit zu verarbeiten. Dabei werden Prozesse gegebenenfalls abgebrochen, wenn ein neuer Prozess rein kommt das eine kürzere Laufzeit hat.

Der Nachteil bei diesem Verfahren ist, dass längere Prozesse verhungern können (sie kommen nicht dran).

Beispiel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A X X X
B X X X X X X
C X X X X
D X X X X X
E X X

Shortest Process Next

Shortest Process Next arbeitet so ähnlich wie Shortest Remaining Time. Es hat ebenfalls die Priorität anhand der Verarbeitungszeit. Der unterschied liegt jedoch am Abbruch. Shortest Process Next bricht den Prozess nicht ab.

Der Vorteil liegt hierbei das kurze Prozesse schnell verarbeitet werden und längere Prozesse werden verhungern.

Beispiel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A X X X
B X X X X X X
C X X X X
D X X X X X
E X X

Round Robin

Round Robin hat sich als Scheduling Verfahren bis heute durchgesetzt und wird vermehrt eingesetzt vor allem als load balancing. Round Robin wird anhand eines Interrupt (ein Zeitwert) die Prozesse splitten. Danach werden die Auufträge nach dem FCFS (First-come first-served) Muster sortiert.

Alle Prozesse werden nach einem bestimmt Takt verarbeitet. Und es existieren hierbei keine bevorzugte Prozesse.

Beispiel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
A X X X
B X X X X X X
C X X X X
D X X X X X
E X X

q=3 (Zeitwert)