Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem

Inhaltsverzeichnis:

Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem

Video: Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem

Video: Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Video: Prioritätsscheduling | #Betriebssysteme 2024, Juli
Anonim

Hauptunterschied – Preemptive vs. Nonpreemptive Scheduling in OS

Ein Prozess ist ein Programm in Ausführung. Ein Computer sollte viele Aufgaben gleichzeitig erledigen. Daher sollte die CPU Prozesse abrufen und ausführen. Manchmal ist es notwendig, einige Prozesse als die anderen Prozesse auszuführen. An diesem Punkt wird der laufende Prozess unterbrochen und die CPU wird dem neuen Prozess zugewiesen. Nachdem die Aufgabe abgeschlossen ist, wird die CPU wieder dem vorherigen Prozess zugewiesen. Das Scheduling gemäß diesem Mechanismus ist als preemptives Scheduling bekannt. Wenn der laufende Prozess nicht unterbrochen werden kann und es zwingend erforderlich ist, den laufenden Prozess auszuführen, wird dies als nicht präemptives Scheduling bezeichnet. Dieser Artikel beschreibt den Unterschied zwischen der präemptiven und der nicht präemptiven Planung in einem Betriebssystem. Das preemptive Scheduling ist der Prozess-Scheduling-Mechanismus, durch den ein Prozess mitten in seiner Ausführung durch einen anderen Prozess unterbrochen werden kann. Die nicht präemptive Planung ist der Prozessplanungsmechanismus, durch den ein Prozess die Ausführung erst startet, nachdem der vorherige Prozess beendet wurde. Das ist der Hauptunterschied zwischen präemptivem und nicht präemptivem Scheduling in OS.

Was ist Preemptive Scheduling in OS?

Round Robin Scheduling ist ein Beispiel für präventives Scheduling. Jeder Prozess erhält eine kleine Menge an CPU-Zeit. Sie beträgt normalerweise 10 bis 100 Millisekunden. Diese kleine Dateneinheit wird auch als Zeitquant bezeichnet. Nachdem diese Zeit verstrichen ist, wird der Prozess unterbrochen und am Ende der Bereitschaftswarteschlange hinzugefügt. Angenommen, es gibt 4 Prozesse als P1, P2, P3 und P4. Die CPU-Burst-Zeiten in Millisekunden sind wie folgt. Das Zeitquantum ist 20.

Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem

Abbildung 01: Beispiel für Round-Robin-Planung

Der P1-Prozess wird bis 20 ausgeführt. Es verbleiben weitere 33 ms. Dann wird P2 ausgeführt. Da das Zeitquantum 20 und die erforderliche Zeit P2 17 ms beträgt, wird P2 für 17 ms ausgeführt. Damit ist der P2-Prozess abgeschlossen. Dann bekommt P3 die Chance. Es wird für 20 ms ausgeführt. Der Rest beträgt 48 ms. Dann wird der P4 für 20 ms ausgeführt. Es hat 4 ms Zeit, um den gesamten Vorgang abzuschließen. Auch hier wird P1 für 20 ms ausgeführt. Es hat weitere 13 ms, um den Vorgang abzuschließen. Die Änderung wird an P3 gegeben. Es wird 20 ms lang ausgeführt und hat weitere 28 ms, um vollständig zu beenden. Der P4 wird ausgeführt. Es hat nur 4ms. Daher schließt P4 die Ausführung ab. P2 und P4 sind bereits fertig. Die verbleibenden Prozesse sind P1 und P3. Die Chance wird P3 gegeben. Es hatte 13 ms Zeit, um abzuschließen, also ist es abgeschlossen. Jetzt ist der einzige verbleibende Prozess P3. Es hat 28 ms Zeit. P3 läuft also 20 ms lang. Der Rest sind 8ms. Alle anderen Prozesse haben die Ausführung bereits abgeschlossen. Daher werden wieder die restlichen 8 ms von P3 ausgeführt. Ebenso erhält jeder Prozess eine Chance zur Ausführung.

Was ist nicht präemptive Planung im Betriebssystem?

First Come First Served (FCFS)-Scheduling kann als Beispiel für nicht-präemptives Scheduling genommen werden. Der Prozess, der zuerst anfordert, wird zuerst der CPU zugewiesen. Diese Planung wird einfach durch die FIFO-Warteschlange (First In First Out) verw altet. Wenn Prozesse in der Reihenfolge P1, P2 und P3 gekommen sind, wird die Chance zuerst P1 gegeben. Nach Abschluss wird P2 ausgeführt. Wenn P2 abgeschlossen ist, wird P3 ausgeführt. Angenommen, es gibt 3 Prozesse als P1, P2 und P3 mit CPU-Burst-Zeiten in Millisekunden wie folgt.

Hauptunterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Hauptunterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Hauptunterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem
Hauptunterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem

Abbildung 02: Beispiel für FCFS-Scheduling

Gemäß obigem wird P1 ausgeführt. Sobald er abgeschlossen ist, wird der Prozess P2 für 3 ms ausgeführt. Jetzt ist der verbleibende Prozess P3. Dann wird es ausgeführt. Die Wartezeit für P1 ist Null. Der Prozess P2 musste 24 ms warten und der Prozess P3 musste 27 ms warten. Wenn die Prozesse in der Reihenfolge P2, P3 und P1 eingetroffen sind, wird P2 zuerst abgeschlossen. Als nächstes wird P3 abgeschlossen und schließlich wird P1 abgeschlossen.

Was ist die Ähnlichkeit zwischen präemptiver und nichtpräemptiver Planung im Betriebssystem?

Sowohl Preemptive als auch Nonpreemptive Scheduling in OS sind Mechanismen zur Planung von Prozessen in einem Computer

Was ist der Unterschied zwischen präemptiver und nichtpräemptiver Planung im Betriebssystem?

Preemptive vs. Nonpreemtive Scheduling in OS

Das preemptive Scheduling ist der Prozess-Scheduling-Mechanismus, durch den ein Prozess mitten in seiner Ausführung durch einen anderen Prozess unterbrochen werden kann. Die nicht präemptive Planung ist der Prozessplanungsmechanismus, durch den ein Prozess die Ausführung erst startet, nachdem der vorherige Prozess beendet wurde.
Prozessunterbrechung
Beim präemptiven Scheduling können die Prozesse unterbrochen werden. Beim nicht präemptiven Scheduling können die Prozesse unterbrochen werden.
CPU-Auslastung
Beim präemptiven Scheduling ist die CPU-Auslastung höher als beim nicht-präemptiven Scheduling. Bei der nicht präemptiven Planung ist die CPU-Auslastung im Vergleich zur präemptiven Planung minimal.
Flexibilität
Vorbeugende Planung ist flexibel. Nonpreemptive Scheduling ist nicht flexibel.

Zusammenfassung – Preemptive vs. Nonpreemptive Scheduling in OS

Auf einem Computer laufen mehrere Prozesse. Wenn jeder Prozess ausgeführt wird, wird die CPU diesem bestimmten Prozess zugewiesen. Manchmal ist es notwendig, die Ausführung des aktuellen Prozesses zu stoppen und einem anderen Prozess Priorität zu geben. Prozessplanungsmechanismen können präventiv oder nicht präemptiv sein. Das preemptive Scheduling ist der Prozess-Scheduling-Mechanismus, durch den der Prozess mitten in seiner Ausführung durch einen anderen Prozess unterbrochen werden kann. Die nicht präemptive Planung ist der Prozessplanungsmechanismus, bei dem ein Prozess die Ausführung erst startet, nachdem der vorherige Prozess beendet wurde. Dies ist der Unterschied zwischen präemptiver und nicht präemptiver Planung in OS.

Laden Sie das PDF von Preemptive vs. Nonpreemptive Scheduling in OS herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitationshinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter: Unterschied zwischen präemptiver und nicht präemptiver Planung im Betriebssystem

Empfohlen: