Three-Level-Scheduling

Three-Level-Scheduling

Three-Level-Scheduling (TLS) TLS unterteilt den Scheduling-Prozess in 3 Teilprozesse:

  • Admission Scheduler
  • Memory Scheduler
  • CPU Scheduler
Three Level Scheduling

Am Beginn dieses Schedulingverfahrens steht ein Input Queue. Dabei handelt es sich lediglich um eine Datenstruktur ähnlich einer Liste, in welcher die neu ankommenden "Jobs" zwischengespeichert werden.

Nun kommt der Admission Scheduler (in Folge AS genannt) ins Spiel. Der AS entscheidet, welcher Job ins weitere System (genauer gesagt in den Speicher) kommt. Die anderen Jobs verbleiben im Input Queue. Grundsätzlich wird versucht, einen guten Mix aus Compute-Bound Jobs (meist lange Abarbeitezeit) und IO-Bound Jobs (Input/Output - kurze Abarbeitezeit) zu finden und/oder kürzere Jobs längeren vorzuziehen. Der Admission Scheduler kann dabei auch Jobs, welche später hinzutreten, denen in der Input Queue vorziehen. Man kann den AS also als Vorfilter betrachten.

Vom Admission Scheduler werden die Jobs dann weiter in den Arbeitsspeicher geladen. Hier beginnt nun die Arbeit des Memory Scheduler. Da jeder Job im Speicher Platz benötigt und es durchaus vorkommen kann, dass mehrere Jobs im Speicher vorhanden sind, entscheidet der Memory Scheduler, welcher Job im Hauptspeicher verbleibt und welcher auf die Festplatte ausgelagert wird (Swap). Dabei wird das "Degree of Multiprogramming" herangezogen, um zu entscheiden, wie viele Jobs im Hauptspeicher belassen werden. Das "Degree of Multiprogramming" beschreibt die Anzahl von Prozessen, welche ein Prozessor, abhängig von Hauptspeicherauslastung und Prozessorgeschwindigkeit, effizient verarbeiten kann. Wird auf eine Ressource von mehreren Prozessen gemeinsam zugegriffen, so kann dies das "Degree of Multiprogramming" beeinflussen. Um eine optimale Performance zu gewährleisten, muss regelmäßig entschieden werden, wie viele Jobs im Speicher abgelegt werden. Es wird versucht, eine möglichst hohe CPU-Auslastung zu erreichen, wobei der Rest auf die Festplatte ausgelagert wird. Das Ein-/Auslagern ist teuer, da es vermehrt Systemressourcen beansprucht und Festplattenzugriffe verhältnismäßig langsam sind. Kriterien des Ein-/Auslagerns:

  • Wie lange ist es her, dass der Job auf die Festplatte ausgelagert wurde?
  • Wie viel CPU-Zeit hat der Job kürzlich erhalten?
  • Wie groß ist der Job? (kleinere Jobs werden überhaupt nicht ausgelagert, da Auslagern teuer ist)
  • Wie wichtig ist der Job?

Der CPU Scheduler entnimmt nun aus dem Speicher einen Job und arbeitet diesen ab (bzw. arbeitet weiter daran). Hierzu wird eines der anderen Scheduling-Verfahren (meist aber Shortest-Process-Next) verwendet.

Quellen


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Scheduling (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Scheduling (computing) — This article is about processes assignment in operating systems. For other uses, see Scheduling (disambiguation). Scheduling is a key concept in computer multitasking, multiprocessing operating system and real time operating system designs.… …   Wikipedia

  • Instruction scheduling — In computer science, instruction scheduling is a compiler optimization used to improve instruction level parallelism, which improves performance on machines with instruction pipelines. Put more simply, without changing the meaning of the code, it …   Wikipedia

  • Fair-share scheduling — is a scheduling strategy for computer operating systems in which the CPU usage is equally distributed among system users or groups, as opposed to equal distribution among processes. For example, if four users (A,B,C,D) are concurrently executing… …   Wikipedia

  • Aggregate Level Simulation Protocol — The Aggregate Level Simulation Protocol (ALSP) is a protocol and supporting software that enables simulations to interoperate with one another. Replaced by the High Level Architecture (simulation) (HLA), it was used by the US military to link… …   Wikipedia

  • Manufacturing Readiness Level — ( MRL ) is a measure used by some United States government agencies and many of the world s major companies (and agencies) to assess the maturity of manufacturing readiness serving the same purpose as Technology Readiness Levels serve for… …   Wikipedia

  • Prozessverwaltung — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Schedule (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Scheduler (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Shortest-Remaining-Time — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”