Scheduler — Änderungen 7167 → 7694

Zeile 1: Zeile 1:
 
Der Scheduler hat die Aufgabe festzustellen welcher Prozess als nächstes CPU-Zeit zugeteilt bekommt. Dabei gibt es mehr oder weniger komplizierte Systeme. Das einfachste System ist [[#Round Robin | Round Robin]]. Dabei bekommt ein Prozess nach dem anderen CPU-Zeit zugeteilt. Man kann aber auch Prioritäten setzen und damit Prozesse, die wichtiger sind mehr CPU-Zeit zuteilen.
 
Der Scheduler hat die Aufgabe festzustellen welcher Prozess als nächstes CPU-Zeit zugeteilt bekommt. Dabei gibt es mehr oder weniger komplizierte Systeme. Das einfachste System ist [[#Round Robin | Round Robin]]. Dabei bekommt ein Prozess nach dem anderen CPU-Zeit zugeteilt. Man kann aber auch Prioritäten setzen und damit Prozesse, die wichtiger sind mehr CPU-Zeit zuteilen.
 +
 +
 +
= non-preemptive =
 +
Prozesse geben Kontrolle freiwillig ab.
 +
 +
== FCFS - First Come First Served ==
 +
Prozesse werden in der Reihenfolge in der sie erstellt werden abgearbeitet. Erst wenn der erste beendet ist kommt der nächste an die Reihe.
 +
Bsp:
 +
P1, P2, P3, P4 und P5 werden in dieser Reihenfolge gestartet.
 +
Bedienzeiten: P1=22, P2=2, P3=3, P4=5, P5=8
 +
Antwortzeiten: R1=22, R2=22+2=24, R3=24+3=27, R4=27+5=32, R5=32+8=40
 +
durchschnittliche Antwortzeit: 29
 +
 +
Vorteile:
 +
* einfach zu implementieren
 +
* geringer Verwaltungsaufwand
 +
* Fairness, alle Prozesse erreichen der Reihe nach CPU)
 +
 +
Nachteile:
 +
* kurz laufende Prozesse müssen u.U. sehr lange warten, daher für Dialogsysteme nicht geeignet.
 +
 +
= preemptive =
 +
OS holt sich Kontrolle selbst zurück (Interrupt)
  
 
== Round Robin ==
 
== Round Robin ==
Zeile 21: Zeile 44:
  
 
Der Vorteil dieses Systems ist, dass jedem Prozess, bei einer entsprechenden Implementierung, individuell der optimale Teil der Rechenleistung zugeteilt wird. Nachteil ist allerdings, dass diese Variante nur in Verbindung mit anderen Varianten zur Optimierung eingesetzt werden kann (zumindest ist der alleinige Einsatz schwierig).
 
Der Vorteil dieses Systems ist, dass jedem Prozess, bei einer entsprechenden Implementierung, individuell der optimale Teil der Rechenleistung zugeteilt wird. Nachteil ist allerdings, dass diese Variante nur in Verbindung mit anderen Varianten zur Optimierung eingesetzt werden kann (zumindest ist der alleinige Einsatz schwierig).
 +
  
 
[[Kategorie:Multitasking]]
 
[[Kategorie:Multitasking]]