Preemptive vs. Non-Preemptive Scheduling im Betriebssystem

Autor: Laura McKinney
Erstelldatum: 4 April 2021
Aktualisierungsdatum: 17 Kann 2024
Anonim
Preemptive and Non-Preemptive Scheduling
Video: Preemptive and Non-Preemptive Scheduling

Inhalt

Der Hauptunterschied zwischen präemptivem und nicht präemptivem Scheduling im Betriebssystem besteht darin, dass das präemptive Scheduling stattfindet, wenn ein Prozess vom Ausführungsstatus in den Bereitschaftsstatus wechselt, während das nicht präemptive Scheduling stattfindet, wenn der Prozess beendet wird.


Das Betriebssystem ist eine Brücke zwischen Benutzer und Software, das Betriebssystem in der Informatik ist das wichtigste Konzept. Im Betriebssystem ist die präemptive und nicht präemptive Planung das wichtigste Konzept.

Es gibt einen CPU-Scheduler, der für die Zuordnung eines Prozesses zur CPU zuständig ist. Der CPU-Scheduler wartet darauf, dass die CPU frei wird. Wenn die CPU-Ressourcen frei sind, werden andere Prozesse ausgeführt. Die präemptive Zeitplanung findet statt, wenn ein Prozess vom Status "Ausführen" in den Status "Bereit" ausgeführt wird, während die nicht präemptive Zeitplanung stattfindet, wenn der Prozess beendet wird. Bei der präemptiven Zeitplanung können Prozesse geplant werden, während nicht präemptive Zeitplanungsprozesse nicht geplant werden können. Die präemptive Zeitplanung findet statt, wenn der Prozess vom Status "Ausführen" in den Status "Bereit" wechselt. Bei der präventiven Zeitplanung werden CPU-Zyklen für einen begrenzten Zeitraum der Verarbeitung zugewiesen. Der Prozess, auf den gewartet werden muss, befindet sich in der Warteschlange und wartet auf den CPU-Burst. Der Prozess muss in der Warteschlange "Bereit" bleiben, bis die CPU zur Ausführung bereit ist. Dann gibt es Prioritäten, bei denen ein Prozess mit hoher Priorität zuerst die Ressourcen und dann den Prozess mit weniger Prioritäten erhält. Dieser gesamte Prozess wird als vorbeugende Planung bezeichnet. Robin Robin ist ein Beispiel für präventives Scheduling.


Die nicht vorbeugende Planung findet statt, wenn der Prozess beendet wird. Wenn der Prozess die Ressource von der CPU hat und wenn die Ressource von diesem Prozess verwendet wird, wird der Prozess von der CPU beendet. Preemptive Scheduling unterbricht den Prozess, sobald der Prozess mit hoher Priorität eintrifft. Bei nicht-preemptiver Scheduling tritt keine Unterbrechung auf, und der Prozess wird beendet, wenn der Prozess abgeschlossen ist. Wenn der Prozess mit langer CPU-Burst-Zeit ausgeführt wird, muss der Prozess warten und auf diese Weise erhöht sich die durchschnittliche Wartezeit.

Inhalt: Unterschied zwischen präemptivem und nicht präemptivem Scheduling im Betriebssystem

  • Vergleichstabelle
  • Preemptive Scheduling
  • Nicht vorbeugende Planung
  • Hauptunterschiede
  • Fazit
  • Erklärendes Video

Vergleichstabelle

BasisPreemptive SchedulingNicht vorbeugende Planung
BedeutungDie präventive Planung findet statt, wenn der Prozess vom Status "Laufen" in den Status "Bereit" ausgeführt wird

Die nicht vorbeugende Planung findet statt, wenn der Prozess beendet wird.


 

Unterbrechen Es liegt eine Unterbrechung der vorbeugenden Planung vorDie nicht vorbeugende Planung wird nicht unterbrochen
Flexibel Die präventive Planung ist flexibelDie nicht vorbeugende Planung ist nicht flexibel
Kosten Preemptive Scheduling ist kostengünstigNicht vorbeugende Planung ist nicht kosteneffektiv

Preemptive Scheduling

Die präventive Planung erfolgt, wenn der Prozess vom Betriebszustand in den Bereitschaftszustand wechselt. Bei der präventiven Planung werden die CPU-Zyklen der Verarbeitung zugewiesen, und zwar für einen begrenzten Zeitraum. Der zu wartende Prozess befindet sich in der Warteschlange "Bereit" und wartet auf den CPU-Burst. Der Prozess muss in der Warteschlange "Bereit" bleiben, bis die CPU zur Ausführung bereit ist. Dann gibt es Prioritäten, bei denen ein Prozess mit hoher Priorität zuerst die Ressourcen und dann den Prozess mit weniger Prioritäten erhält. Dieser gesamte Prozess wird als vorbeugende Planung bezeichnet. Robin Robin ist ein Beispiel für präventives Scheduling.

Nicht vorbeugende Planung

Die nicht vorbeugende Planung findet statt, wenn der Prozess beendet wird. Wenn der Prozess die Ressource von der CPU hat und wenn die Ressource von diesem Prozess verwendet wird, wird der Prozess von der CPU beendet. Preemptive Scheduling unterbricht den Prozess, sobald der Prozess mit hoher Priorität eintrifft. Bei nicht-preemptiver Scheduling tritt keine Unterbrechung auf, und der Prozess wird beendet, wenn der Prozess abgeschlossen ist. Wenn der Prozess mit langer CPU-Burst-Zeit ausgeführt wird, muss der Prozess warten und auf diese Weise erhöht sich die durchschnittliche Wartezeit.

Hauptunterschiede

  1. Die präemptive Zeitplanung findet statt, wenn ein Prozess vom Status "Ausführen" in den Status "Bereit" ausgeführt wird, während die nicht präemptive Zeitplanung stattfindet, wenn der Prozess beendet wird.
  2. Es gibt eine Unterbrechung bei der präemptiven Planung, wohingegen es keine Unterbrechung bei der nicht präemptiven Planung gibt.
  3. Die präemptive Planung ist flexibel, während die nicht präemptive Planung nicht flexibel ist.
  4. Preemptive Scheduling ist kosteneffektiv, während nicht-preemptive Scheduling nicht kosteneffektiv ist

Fazit

In diesem Artikel oben sehen wir den deutlichen Unterschied zwischen präemptiver und nicht präemptiver Planung anhand von Beispielen.

Erklärendes Video