vorlagen-zauber.net




Web-Empfehlungen:




Prozess-Scheduler



Ein Prozess-Scheduler (Scheduler = Steuerprogramm) regelt die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen. Prozess-Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non preemptive, auch kooperativ genannt) aufteilen. Nicht unterbrechende Scheduler lassen einen Prozess, nachdem ihm die CPU einmal zugeteilt wurde, solange laufen, bis dieser diese von sich aus wieder freigibt oder bis er blockiert. Unterbrechende Scheduler teilen die CPU von vornherein nur für eine bestimmte Zeitspanne zu und entziehen dem Prozess diese daraufhin wieder. Man kann verschiedene Systeme unterscheiden, in welchen jeweils verschiedene Anforderungen an den Scheduler gestellt werden:

  1. Stapelverarbeitungssysteme
  2. interaktive Systeme
  3. Echtzeitsysteme

In Stapelverarbeitungssystemen sieht der Scheduler denkbar einfach aus: Ankommende Aufträge werden in eine Warteschlange eingereiht und jedes Mal, wenn ein Job abgearbeitet ist, kommt der nächste aus der Schlange dran (Queue-Manager).

Interaktive Systeme stellen höhere Anforderungen: Der Benutzer legt Wert auf kurze Antwortzeit. Wenn er beispielsweise in einem Texteditor eine Tastatureingabe tätigt, sollte der Text sofort erscheinen.

In Echtzeitsystemen gibt es für jeden Job ein Zeitlimit, bis zu dem die Aufgabe erledigt sein muss. Siehe Real-Time Scheduling.

Typische Benutzer-PCs sind interaktive Systeme, auf denen gelegentlich auch Prozesse als so genannte Hintergrundprozesse mit niedrigerer Priorität ablaufen können.

Inhaltsverzeichnis

  • 1 Ziele
  • 2 Strategien
  • 3 Scheduling-Verfahren
  • 4 Literatur

[Bearbeiten] Ziele

Die Zuteilung der CPU an die Prozesse sollte bestmöglich erfolgen, wobei (abhängig vom ausführenden System) allerdings unterschiedliche Ziele verfolgt werden können:

Allgemein

Batch Systeme

Interaktive Systeme

Echtzeitsysteme

[Bearbeiten] Strategien

Das größte Problem des Schedulers ist die Tatsache, dass die benötigten Betriebsmittel für die einzelnen Prozesse nicht im Vorfeld bekannt sind. Es lässt sich also im Allgemeinen keine optimale Planung erstellen, sondern der Scheduler muss dynamisch auf geänderte Anforderungen reagieren. Dabei können (abhängig vom Scheduler) verschiedene Zuteilungsstrategien zum Einsatz kommen:

[Bearbeiten] Scheduling-Verfahren

[Bearbeiten] Literatur






Home | Impressum