|
Home - Betriebssysteme - Allgemein - Scheduling-Verfahren
Hinweis: Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich. Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren. [Druckansicht] [Als E-Mail senden] [Kommentar verfassen] Einleitung Eine der Hauptaufgaben eines Betriebssystems ist die Überwachung und Steuerung von Prozessen. Bei Mehrprozesssystemen bzw. Mehrprogrammsystemen gibt es mehrere Prozesse, deren Ablauf koordiniert werden muss. Das Scheduling ist in solchen Betriebssystemen dafür zuständig den verschiedenen Prozessen Betriebsmittel - insbesondere den Prozessor - zuzuweisen bzw. auch wieder zu entziehen. Es muss sichergestellt sein, dass jeder bereite Prozess irgendwann mal ausgeführt wird, sodass der Eindruck eines zeitlich verzahnten Ablaufs aller Prozesse entsteht. Im Wesentlichen gibt es dazu drei Verfahren, die in modernen Betriebssystemen eingesetzt werden. Diese werden wir jetzt mal genauer unter die Lupe nehmen. Round Robin Bei dem "Round Robin" genannten Verfahren erhält jeder Prozess eine Zeitscheibe, das heißt er kann den Prozessor eine gewisse Zeit benutzen. Ist diese Zeit abgelaufen, wird der Prozess wieder ans Ende der Warteschlange der bereiten Prozesse gestellt. Diese Warteschlange heißt Ready-Queue. Danach wird der nächste Prozess aus der Ready-Queue ausgewählt und dieser Prozess laufend gesetzt (d. h. er bekommt den Prozessor zugeteilt). Hat ein Prozess schon vor dem Ablauf der zugeteilten Zeit seine Arbeiten erledigt, so gilt die Zeitscheibe als abgearbeitet; dies bedeutet, dass der nachfolgende Prozess nicht die eingesparte Zeit des vorigen Prozesses erhält. Somit kann man festhalten, dass jeder Prozess seine eigene Zeitscheibe hat und sich diese nicht auf andere Prozesse übertragen lässt. Zu diesem Verfahren habe ich zur Verdeutlichung des Ablaufs ein Bild gezeichnet, welches die parallele Ausführung von drei Prozessen zeigt. ![]() Priority-Based-Scheduling Dieses Verfahren basiert auf Round Robin. Zusätzlich wird jedem Prozess eine Wichtigkeitsstufe zugeordnet - die Priorität. Bei einem Prozesswechsel wird nun der Prozess aus der Ready-Queue ausgewählt, der die höchste Priorität besitzt. Es wird nun stets der Prozess mit der höchsten Priorität aktiv und verdrängt somit Prozesse niedrigerer Priorität. Verdrängung bedeutet, dass einem Prozess vorzeitig ein Betriebsmittel (hier der Prozessor) entzogen wird, weil ein Prozess höherer Priorität diese benötigt. Den Prozessen ist beim Priority-Based-Scheduling jeweils eine feste Priorität zugeordnet, die sich während der kompletten Lebensdauer des Prozesses nicht ändert. Haben mehrere Prozesse die gleiche Priorität, so wird Round Robin angewendet. Multilevel-Feedback Dieses Verfahren basiert wiederum auf dem Priority-Based-Scheduling. Allerdings werden hier die Prozessprioritäten dynamisch zugeordnet: Je mehr Ressourcen (d. h. Betriebsmittel) ein Prozess verbraucht, desto niedriger wird seine Priorität. Dies ist notwendig, damit jeder Prozess an die Reihe kommt. Um dieses Verfahren zu veranschaulichen, betrachten wir die Berechnungsformel für UNIX-Systeme. Diese setzt sich aus zwei Teilen zusammen: a) TCPU = TCPU : 2 b) Dynamische Priorität = TCPU : Konstante + Basispriorität + nice Intern zählt die CPU in jedem Takt einen Zähler hoch. Der Zählerstand wird Ticks genannt. Hierüber können Zeitfunktionen implementiert werden. Dies ist beim Scheduling recht nützlich. Damit unsere Variable TCPU nicht irgendwann einen Überlauf verursacht, wird sie vor der Berechnung der Priorität durch 2 geteilt. Zusätzlich wird diese Variable (eingesetzt in Formel b)) noch durch eine vom Betriebssystem abhängige Konstante geteilt. Beim Start des Prozesses bekommt dieser eine Basispriorität zugeteilt, die nie unterschritten wird. Außerdem kann der Benutzer noch einen "nice" genannten Wert festlegen, der allerdings nur positiv sein kann und somit die Prozesspriorität nur negativ beeinflussen kann. Denn je niedriger der errechnete Wert, desto höher ist die Priorität - und umgekehrt.
|
Autoren:03792
Artikel:00815 Glossar:04618 News:08887 Userbeiträge:16079 Queueeinträge:00170
Promotion-Aktion bei Fast Lane: 50 Prozent Rabatt auf Prüfung zum VMware Certified Advanced Professional 4
Neues Trendbarometer Online-News-Ranking: Zeitungsverlage verlieren im Nachrichtengeschäft an Boden E-Mail Marketing und Social Media Marketing – Was erwarten Ihre Kunden? [Mehr News]
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
|