Prioritätsplanungsalgorithmus: Präventives, nicht präemptives BEISPIEL

Inhaltsverzeichnis:

Anonim

Was ist Priority Scheduling?

Die Prioritätsplanung ist eine Methode zur Planung von Prozessen, die auf der Priorität basiert. In diesem Algorithmus wählt der Scheduler die zu erledigenden Aufgaben gemäß der Priorität aus.

Die Prozesse mit höherer Priorität sollten zuerst ausgeführt werden, während Jobs mit gleichen Prioritäten auf Round-Robin- oder FCFS-Basis ausgeführt werden. Die Priorität hängt von den Speicheranforderungen, Zeitanforderungen usw. ab.

In diesem Tutorial zum Betriebssystem lernen Sie:

  • Was ist Prioritätsplanung?
  • Arten der Prioritätsplanung
  • Merkmale der Prioritätsplanung
  • Beispiel für die Prioritätsplanung
  • Vorteile der Prioritätsplanung
  • Nachteile der Prioritätsplanung

Arten der Prioritätsplanung

Prioritätsplanung in zwei Haupttypen unterteilt:

Präventive Planung

In der vorbeugenden Planung werden die Aufgaben meist mit ihren Prioritäten zugewiesen. Manchmal ist es wichtig, eine Aufgabe mit einer höheren Priorität vor einer anderen Aufgabe mit niedrigerer Priorität auszuführen, selbst wenn die Aufgabe mit der niedrigeren Priorität noch ausgeführt wird. Die Aufgabe mit niedrigerer Priorität hält einige Zeit an und wird fortgesetzt, wenn die Aufgabe mit höherer Priorität ihre Ausführung beendet hat.

Non-Preemptive Scheduling

Bei dieser Art von Planungsmethode wurde die CPU einem bestimmten Prozess zugeordnet. Der Prozess, der die CPU beschäftigt, gibt die CPU entweder durch Umschalten des Kontexts oder durch Beenden frei. Dies ist die einzige Methode, die für verschiedene Hardwareplattformen verwendet werden kann. Dies liegt daran, dass keine spezielle Hardware (z. B. ein Timer) wie die präventive Planung erforderlich ist.

Merkmale der Prioritätsplanung

  • Ein CPU-Algorithmus, der Prozesse basierend auf der Priorität plant.
  • Es wird in Betriebssystemen zur Durchführung von Batch-Prozessen verwendet.
  • Wenn zwei Jobs mit derselben Priorität BEREIT sind, funktioniert dies auf der Basis FIRST COME, FIRST SERVED.
  • Bei der Prioritätsplanung wird jedem Prozess eine Nummer zugewiesen, die seine Prioritätsstufe angibt.
  • Niedriger die Zahl, höher ist die Priorität.
  • Wenn bei dieser Art von Planungsalgorithmus ein neuerer Prozess eintrifft, der eine höhere Priorität als der aktuell ausgeführte Prozess hat, wird der aktuell ausgeführte Prozess vorbelegt.

Beispiel für die Prioritätsplanung

Betrachten Sie die folgenden fünf Prozesse P1 bis P5. Jeder Prozess hat seine eindeutige Priorität, Burst-Zeit und Ankunftszeit.

Prozess Priorität Burst-Zeit Ankunftszeit
P1 1 4 0
P2 2 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Schritt 0) Zum Zeitpunkt = 0 kommen die Prozesse P1 und P2 an. P1 hat eine höhere Priorität als P2. Die Ausführung beginnt mit dem Prozess P1, der die Burst-Zeit 4 hat.

Schritt 1) Zum Zeitpunkt = 1 kommt kein neuer Prozess an. Die Ausführung wird mit P1 fortgesetzt.

Schritt 2) Zum Zeitpunkt 2 kommt kein neuer Prozess an, sodass Sie mit P1 fortfahren können. P2 steht in der Warteschlange.

Schritt 3) Zum Zeitpunkt 3 kommt kein neuer Prozess an, sodass Sie mit P1 fortfahren können. P2-Prozess noch in der Warteschlange.

Schritt 4) Zum Zeitpunkt 4 hat P1 seine Ausführung beendet. P2 startet die Ausführung.

Schritt 5) Zur Zeit = 5 kommt kein neuer Prozess an, also fahren wir mit P2 fort.

Schritt 6) Zur Zeit = 6 kommt P3 an. P3 hat eine höhere Priorität (1) als P2 mit Priorität (2). P2 ist vorbelegt und P3 beginnt mit seiner Ausführung.

Prozess Priorität Burst-Zeit Ankunftszeit
P1 1 4 0
P2 2 1 von 3 ausstehend 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Schritt 7) Zum Zeitpunkt 7 kommt kein neuer Prozess an, also fahren wir mit P3 fort. P2 steht in der Warteschlange.

Schritt 8) Zum Zeitpunkt = 8 kommt kein neuer Prozess an, sodass wir mit P3 fortfahren können.

Schritt 9) Zum Zeitpunkt = 9 kommt kein neuer Prozess, sodass wir mit P3 fortfahren können.

Schritt 10) Im Zeitintervall 10 kommt kein neuer Prozess, also fahren wir mit P3 fort

Schritt 11) Zum Zeitpunkt = 11 kommt P4 mit Priorität 4 an. P3 hat eine höhere Priorität und setzt seine Ausführung fort.

Prozess Priorität Burst-Zeit Ankunftszeit
P1 1 4 0
P2 2 1 von 3 ausstehend 0
P3 1 2 von 7 ausstehend 6
P4 3 4 11
P5 2 2 12

Schritt 12) Zur Zeit = 12 kommt P5 an. P3 hat eine höhere Priorität, daher wird die Ausführung fortgesetzt.

Schritt 13) Zum Zeitpunkt = 13 schließt P3 die Ausführung ab. Wir haben P2, P4, P5 in der Warteschlange. P2 und P5 haben die gleiche Priorität. Die Ankunftszeit von P2 liegt vor P5. Also startet P2 die Ausführung.

Prozess Priorität Burst-Zeit Ankunftszeit
P1 1 4 0
P2 2 1 von 3 ausstehend 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Schritt 14) Zum Zeitpunkt = 14 hat der P2-Prozess seine Ausführung beendet. P4 und P5 befinden sich im Wartezustand. P5 hat die höchste Priorität und startet die Ausführung.

Schritt 15) Zum Zeitpunkt = 15 setzt P5 die Ausführung fort.

Schritt 16) Zum Zeitpunkt = 16 ist P5 mit seiner Ausführung fertig. P4 ist der einzige verbleibende Prozess. Es beginnt mit der Ausführung.

Schritt 17) Zum Zeitpunkt = 20 hat P5 die Ausführung abgeschlossen und es ist kein Prozess mehr übrig.

Schritt 18) Berechnen wir die durchschnittliche Wartezeit für das obige Beispiel.

Wartezeit = Startzeit - Ankunftszeit + Wartezeit für den nächsten Burst

P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

Vorteile der Prioritätsplanung

Hier sind die Vorteile / Vorteile der Verwendung der Prioritätsplanungsmethode:

  • Einfach zu verwendende Planungsmethode
  • Prozesse werden nach Priorität ausgeführt, sodass eine hohe Priorität nicht lange warten muss, was Zeit spart
  • Diese Methode bietet einen guten Mechanismus, bei dem die relative Bedeutung jedes Prozesses genau definiert werden kann.
  • Geeignet für Anwendungen mit schwankenden Zeit- und Ressourcenanforderungen.

Nachteile der Prioritätsplanung

Hier sind Vor- und Nachteile der Prioritätsplanung

  • Wenn das System schließlich abstürzt, gehen alle Prozesse mit niedriger Priorität verloren.
  • Wenn Prozesse mit hoher Priorität viel CPU-Zeit in Anspruch nehmen, können die Prozesse mit niedrigerer Priorität verhungern und werden auf unbestimmte Zeit verschoben.
  • Dieser Planungsalgorithmus kann einige Prozesse mit niedriger Priorität auf unbestimmte Zeit warten lassen.
  • Ein Prozess wird blockiert, wenn er zur Ausführung bereit ist, muss jedoch auf die CPU warten, da gerade ein anderer Prozess ausgeführt wird.
  • Wenn immer wieder ein neuer Prozess mit höherer Priorität in die Bereitschaftswarteschlange kommt, muss der Prozess, der sich im Wartezustand befindet, möglicherweise lange warten.

Zusammenfassung:

  • Die Prioritätsplanung ist eine Methode zur Planung von Prozessen, die auf der Priorität basiert. In diesem Algorithmus wählt der Scheduler die zu erledigenden Aufgaben gemäß der Priorität aus.
  • In der Priority Preemptive Scheduling werden die Aufgaben meist mit ihren Prioritäten zugewiesen.
  • Bei der Priority Non-Preemptive Scheduling-Methode wurde die CPU einem bestimmten Prozess zugewiesen.
  • Prozesse werden nach Priorität ausgeführt, sodass eine hohe Priorität nicht lange warten muss, was Zeit spart
  • Wenn Prozesse mit hoher Priorität viel CPU-Zeit in Anspruch nehmen, können die Prozesse mit niedrigerer Priorität verhungern und werden auf unbestimmte Zeit verschoben.