Scheduling: Was ist das & wie funktioniert es? In 10 Minuten ! (2024)

Wenn man Scheduling bei Google eingibt, spuckt es einem erst einmal direkt als Erstes diese Definition aus:

Scheduling ist ein Anglizismus für die Erstellung eines Ablaufplanes, der Prozessen zeitlich begrenzt Ressourcen zuteilt.

Hier in diesem Beitrag beschreibe ich noch genauer, was ein Scheduler ist, wie Scheduling funktioniert, wozu es dient und viel mehr.

Lies den Beitrag von Anfang an, wenn du damit noch gar nicht vertraut bist oder benutze das Inhaltsverzeichnis, um direkt zum für dich interessanten Thema zu gelangen.

Inhaltsverzeichnis

Die Aufgaben des Schedulers

  1. Wenn ein aktiver Prozess aus irgendwelchen Gründen blockiert wird, z. B. weil er auf eine Reaktion wartet oder auf Ressourcen, dann entscheidet der Scheduler welcher der anderen Prozesse die CPU erhält
  2. Hat ein Prozess die CPU schon „zu lange“, dann verdrängt der Scheduler diesen und gibt einem anderen die CPU
  3. Kommt ein neuer Prozess dazu, entscheidet der Scheduler darüber, ob diesen nun die CPU bekommt.
  4. Wenn ein blockierter Prozess wieder auf „bereit“ ist, entscheidet der Scheduler darüber, ob der gerade laufende verdrängt werden soll, damit der „bereite“ wieder „aktiv“ sein kann.

Ziele eines Schedulers

  • Stabilität: flüssiges Laufen im Overload-Fall
  • Rechtzeitige Reaktion: Garantiert die Einhaltung von „Terminen“
  • Kurze Antwortzeit: schnelle Reaktion, vor allem z. B. bei Interaktion
  • Kein Verhungern: kein Prozess der kaum bis gar nicht mehr in den „aktiv“ Modus kommt
  • Fairness: jeder Prozess soll ungefähr die gleiche CPU bekommen
  • Hoher Durchsatz: es sollen möglichst viele Aufgaben pro Zeiteinheit erledigt werden
  • Prozessorauslastung: die CPU ist nie idle

Zielkonflikte

Wie aus den Zielen vielleicht schon ersichtlich ist, kann es zwischen den Zielen des Schedulers zu Konflikten kommen. Zum Beispiel kann es zwischen dem Einhalten von Terminen und der Fairness zum Konflikt kommen, weil ein Prozess immer wieder die CPU benötigt, um seine „Termine“ einzuhalten, das ist für die anderen Prozesse dann natürlich unfair, weil sie weniger CPU bekommen.

Scheduling Verfahren

Da die Anforderungen an den Scheduler, der Zweck und das System unterschiedlich sein können, gibt es nicht nur ein Scheduling-Verfahren, sondern verschiedene.

Diese werde ich hier kurz erklären.

Einfache Scheduling Verfahren

Kommen wir zunächst einmal zu den Erklärungen der einfachen Scheduling-Verfahren. Das Prinzip ist bei diesen unkompliziert und leicht verständlich.

First Come First Serve (FCFS)

Bei diesem Verfahren bekommt der Prozess die CPU, der schon am längsten „bereit“ ist. Die CPU wird erst wieder abgegeben, wenn der Prozess fertig ist.

Shortest Job First (SJF)

Hier bekommt der Prozess die CPU, der die geringste Bearbeitungszeit hat. Die CPU kann erst entzogen werden, wenn der Prozess fertig ist oder schon wenn einer mit einer noch kürzeren Bearbeitungszeit hereinkommt.

Shortest Remaining Time (SRT)

Beim SRT ist es fast das gleiche Prinzip wie oben beim Shortest Job First nur dass hier die Restlaufzeit der Bearbeitungszeit genommen wird statt der Gesamtzeit.

Prioritätsbasiertes Scheduling

Hier werden Prioritäten vergeben, nach denen der Scheduler den Prozessen die CPU zu ordnet. Diese Prioritäten legt natürlich der Programmierer anhand der Anforderungen fest. Die Prioritäten können statisch sein oder natürlich auch dynamisch, d.h. sie passen sich zur Laufzeit eines Prozesses an. Hierbei kann allerdings das Problem der Prioritätsinvertierung passieren.

Prioritätsinvertierung Beispiel

Ein niedrig priorisierter Prozess Z kann das Betriebsmittel „E/A-Gerät“ haben und sich in der ready-queue befinden, bereit das Betriebsmittel wieder freizugeben.

Ein Prozess Y mit einer mittleren Priorität läuft jetzt aber aktiv (bedeutet hat die CPU).

Der Prozess X mit einer hohen Priorität wäre eigentlich bereit, wenn er das Betriebsmittel „E/A-Gerät“ bekommen würde, muss jetzt aber warten bis Prozess Z es freigibt.

Wie man sieht, kann Prozess X jetzt trotz der höheren Priorität nicht starten, weil das Scheduler dem Prozess Z nicht die CPU gibt, sodass dieser das Betriebsmittel freigeben könnte, weil er von dieser Abhängigkeit nichts weiß.

Round Robin

Beim Round Robin Prinzip kann man sich, das so vorstellen, als würden die Prozesse im Kreis stehen (daher auch der Name „Round“) und jeder einzelne bekommt nun einfach der Reihe nach für eine festgelegte Zeit die CPU.

Echtzeit-Scheduling

Ein Echtzeit-Scheduler muss, wie aus dem Namen schon hervorgeht, die CPU in Echtzeit an die Prozesse verteilen & z. B. auf Interaktionen des Benutzers reagieren können.

Anforderung an Echtzeit-Scheduler

  • Er muss klein & kompakt sein
  • Schnelle Prozessumschaltung
  • Schnelle Interruptbehandlung
  • Unterstützung von periodisch wiederkehrenden Aufgaben
  • Programmierer kann starken Einfluss auf die Ausführungsabfolge haben (z. B. Vorgabe von Prioritäten)
  • Ein stabiles Verhalten z. B. bei Teilausfällen des Systems ist wichtig

Die Vor- und Nachteile von allen Scheduling Verfahren stehen in meinem kostenlosen PDF, die du hier einfach downloaden kannst.

Außerdem erfährst du dort noch alles Weitere und viel mehr im Detail zu:

  1. Earliest Deadline First Scheduling
  2. Rate Monotonic Scheduling
  3. RMS Optimalitätssatz
  4. RMS Bewertung
  5. Scheduling in Mehrprozessorumgebung
  6. Standard Time-Sharing Scheduling
  7. Gang Scheduling
Scheduling: Was ist das & wie funktioniert es? In 10 Minuten ! (2024)
Top Articles
If You Only Invested Then...A Little Motivation for Now
What Is the Most Expensive Stock? - NerdWallet
Avonlea Havanese
Immobiliare di Felice| Appartamento | Appartamento in vendita Porto San
Jonathon Kinchen Net Worth
Www.craigslist Augusta Ga
Gore Videos Uncensored
Kristine Leahy Spouse
Kostenlose Games: Die besten Free to play Spiele 2024 - Update mit einem legendären Shooter
LA Times Studios Partners With ABC News on Randall Emmett Doc Amid #Scandoval Controversy
Craigslist Pets Sac
Moparts Com Forum
Mary Kay Lipstick Conversion Chart PDF Form - FormsPal
Jackson Stevens Global
Unterwegs im autonomen Freightliner Cascadia: Finger weg, jetzt fahre ich!
Zalog Forum
Wsop Hunters Club
Blue Rain Lubbock
Barber Gym Quantico Hours
Jail View Sumter
Boise Craigslist Cars And Trucks - By Owner
Booknet.com Contract Marriage 2
Pioneer Library Overdrive
Effingham Daily News Police Report
Opsahl Kostel Funeral Home & Crematory Yankton
Palmadise Rv Lot
Lehpiht Shop
Yoshidakins
Bridger Park Community Garden
Closest 24 Hour Walmart
Is Arnold Swansinger Married
Hebrew Bible: Torah, Prophets and Writings | My Jewish Learning
The Thing About ‘Dateline’
Gpa Calculator Georgia Tech
Ticket To Paradise Showtimes Near Regal Citrus Park
Fifty Shades Of Gray 123Movies
Puretalkusa.com/Amac
SF bay area cars & trucks "chevrolet 50" - craigslist
11 Best Hotels in Cologne (Köln), Germany in 2024 - My Germany Vacation
Walgreens On Secor And Alexis
Tfn Powerschool
Exam With A Social Studies Section Crossword
Arnesons Webcam
Love Words Starting with P (With Definition)
Babykeilani
Cvs Coit And Alpha
Is TinyZone TV Safe?
Puss In Boots: The Last Wish Showtimes Near Valdosta Cinemas
Hy-Vee, Inc. hiring Market Grille Express Assistant Department Manager in New Hope, MN | LinkedIn
Https://Eaxcis.allstate.com
Selly Medaline
Cbs Scores Mlb
Latest Posts
Article information

Author: Prof. An Powlowski

Last Updated:

Views: 6493

Rating: 4.3 / 5 (64 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Prof. An Powlowski

Birthday: 1992-09-29

Address: Apt. 994 8891 Orval Hill, Brittnyburgh, AZ 41023-0398

Phone: +26417467956738

Job: District Marketing Strategist

Hobby: Embroidery, Bodybuilding, Motor sports, Amateur radio, Wood carving, Whittling, Air sports

Introduction: My name is Prof. An Powlowski, I am a charming, helpful, attractive, good, graceful, thoughtful, vast person who loves writing and wants to share my knowledge and understanding with you.