Ein Prozess ist ein Programm in Ausführung. Ein Computer sollte viele Aufgaben gleichzeitig ausführen. Daher sollte die CPU Prozesse abrufen und ausführen. Manchmal ist es notwendig, einige Prozesse als die anderen Prozesse auszuführen. Zu diesem Zeitpunkt 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 zugeordnet. Die Zeitplanung gemäß diesem Mechanismus wird als präemptive Zeitplanung bezeichnet. Wenn der laufende Prozess nicht unterbrochen werden kann und es zwingend ist, den laufenden Prozess auszuführen, wird dies als nicht präventives Scheduling bezeichnet. Dieser Artikel beschreibt den Unterschied zwischen der vorbeugenden und nicht vorbeugenden Planung in einem Betriebssystem. Die präemptive Terminplanung ist der Prozessplanungsmechanismus, durch den ein Prozess während seiner Ausführung von einem anderen Prozess unterbrochen werden kann. Die nicht präventive Planung ist der Prozessplanungsmechanismus, durch den ein Prozess die Ausführung erst startet, nachdem der vorherige Prozess beendet wurde. Das ist die Hauptunterschied zwischen Preemptive und Nonpreemptive Scheduling im Betriebssystem.
1. Übersicht und Schlüsseldifferenz
2. Was ist die präventive Planung im Betriebssystem?
3. Was ist nicht präventive Zeitplanung im Betriebssystem?
4. Ähnlichkeiten zwischen präemptiver und nicht präventiver Planung im Betriebssystem
5. Side-by-Side-Vergleich - Preemptive vs. Nonpreemptive Scheduling im OS in Tabellenform
6. Zusammenfassung
Round Robin Scheduling ist ein Beispiel für preemptive Scheduling. Jeder Prozess benötigt eine kleine CPU-Zeit. Sie beträgt normalerweise 10 bis 100 Millisekunden. Diese kleine Dateneinheit wird auch als Zeitquant bezeichnet. Nach Ablauf dieser Zeit wird der Prozess vorzeitig abgebrochen und am Ende der Bereitschaftswarteschlange hinzugefügt. Angenommen, es gibt 4 Prozesse als P1, P2, P3 und P4. Die CPU-Burst-Zeiten in Millisekunden lauten wie folgt. Die Zeitmenge beträgt 20.
Abbildung 01: Beispiel für eine Round Robin-Planung
Der P1-Prozess wird bis 20 ausgeführt. Es sind noch 33 ms übrig. Dann wird der P2 ausgeführt. Da das Zeitquantum 20 ist und die erforderliche Zeit P2 17 ms beträgt, wird P2 17 ms lang ausgeführt. Damit ist der P2-Prozess abgeschlossen. Dann wird P3 die Chance gegeben. Es wird für 20 ms ausgeführt. Der Rest ist 48ms. Dann wird der P4 für 20 ms ausgeführt. Es hat 4 ms, um den gesamten Vorgang abzuschließen. Wieder wird der P1 für 20 ms ausgeführt. Es dauert weitere 13ms, um den Vorgang abzuschließen. Die Änderung wird an P3 gegeben. Es wird für 20 ms ausgeführt, und es dauert weitere 28 ms, um es vollständig zu beenden. Das P4 wird ausgeführt. Es hat nur 4ms. Daher schließt P4 die Ausführung ab. P2 und P4 sind bereits fertig. Die restlichen Prozesse sind P1 und P3. Die Chance ist P3 gegeben. Es hatte 13ms zu vervollständigen, also ist es fertig. Jetzt ist der einzige verbleibende Prozess P3. Es hat 28ms zu vervollständigen. P3 läuft also 20ms. Der Rest ist 8ms. Alle anderen Prozesse sind bereits abgeschlossen. Daher werden die restlichen 8 ms von P3 erneut ausgeführt. Ebenso hat jeder Prozess eine Chance zur Ausführung.
FCFS-Zeitplanung (First Come First Served) kann als Beispiel für eine nicht präventive Zeitplanung betrachtet werden. Der Prozess, der zuerst anfordert, wird zuerst der CPU zugewiesen. Diese Planung kann einfach über die FIFO-Warteschlange (First In First Out) verwaltet werden. Wenn Prozesse in der Reihenfolge P1, P2 und P3 kamen, dann wird die Chance zuerst auf P1 gegeben. Nach Abschluss wird P2 ausgeführt. Wenn P2 abgeschlossen ist, wird der P3 ausgeführt. Angenommen, es gibt drei Prozesse wie P1, P2 und P3 mit CPU-Burst-Zeiten in Millisekunden wie folgt.
Abbildung 02: Beispiel für die FCFS-Planung
Demnach wird P1 ausgeführt. Sobald es abgeschlossen ist, wird der Prozess P2 für 3 ms ausgeführt. Nun 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 angekommen sind, wird P2 zuerst abgeschlossen. Als Nächstes wird P3 abgeschlossen, und schließlich wird P1 abgeschlossen.
Preemptive vs. Nonpreemtive Scheduling im Betriebssystem | |
Die präemptive Terminplanung ist der Prozessplanungsmechanismus, durch den ein Prozess mitten in seiner Ausführung von einem anderen Prozess unterbrochen werden kann. | Die nicht präventive Planung ist der Prozessplanungsmechanismus, durch den ein Prozess die Ausführung erst startet, nachdem der vorherige Prozess beendet wurde. |
Prozessunterbrechung | |
In der vorbeugenden Planung können die Prozesse unterbrochen werden. | Bei nicht präventiver Terminplanung können die Prozesse unterbrochen werden. |
CPU-Auslastung | |
Bei der preemptiven Planung ist die CPU-Auslastung höher als die nicht präventive Planung. | Bei der nicht präventiven Planung ist die CPU-Auslastung im Vergleich zur vorbeugenden Planung minimal. |
Flexibilität | |
Preemptive Terminplanung ist flexibel. | Eine nicht präventive Terminplanung ist nicht flexibel. |
Auf einem Computer werden mehrere Prozesse ausgeführt. Wenn jeder Prozess ausgeführt wird, wird die CPU diesem bestimmten Prozess zugeordnet. Manchmal ist es erforderlich, die Ausführung des aktuellen Prozesses zu stoppen und einem anderen Prozess Priorität zu geben. Mechanismen zur Prozessplanung können präventiv oder nicht präventiv sein. Die präemptive Terminplanung ist der Prozessplanungsmechanismus, durch den ein Prozess während seiner Ausführung durch einen anderen Prozess unterbrochen werden kann. Die nicht präventive Planung ist der Prozessplanungsmechanismus, durch den ein Prozess die Ausführung erst startet, nachdem der vorherige Prozess beendet wurde. Dies ist der Unterschied zwischen preemptive und nonpreemptive Scheduling im Betriebssystem.
Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitatvermerk für Offline-Zwecke verwenden. Laden Sie die PDF-Version hier herunter: Unterschied zwischen präventiver und nicht präventiver Zeitplanung im Betriebssystem
1.Was ist eine präventive und eine nicht preemptive Terminplanung??. Hier verfügbar
2.Point, Tutorials. "Betriebssystem-Scheduling-Algorithmen.", Tutorials Punkt. 8. Januar 2018. Hier verfügbar
3. „Was sind Präventiv- und Nicht-Präventivbedingungen im Zusammenhang mit OS?“ GeeksforGeeks Q & A. Hier verfügbar