Was ist der Unterschied zwischen einer präemptiven und einer nicht präemptiven Planung?

4 Antworten


  • Der Unterschied zwischen "Preemptive" und "Non-preemptive Scheduling" besteht darin, dass die Non-Preemptive Scheduling die volle Kontrolle über die CPU übernimmt, während die Preemptive Scheduling dem Betriebssystem des Computers (OS) die Kontrolle über die Zustände von Prozessen ermöglicht. Es kann hilfreich sein, die verschiedenen Zustände eines Computerprozesses ein wenig zu verstehen:

    • Prozesszustände
    Es gibt fünf Zustände, die ein Prozess während seines Zyklus durchläuft;

    1. Neu – Wenn ein Prozess zum ersten Mal aktiviert oder erstellt wird, z. B. beim Starten eines Softwareprogramms (wir bleiben in dieser Erklärung bei diesem Beispiel).
    2. Bereit – Wenn das Programm bereit ist, dem Prozessor zugewiesen zu werden.
    3. Running - Wenn das Programm ausgeführt wird, wird es als "Running" bezeichnet.
    4. Warten - Der Prozess hier ist inaktiv und wartet auf die Kommunikation von anderen Prozessen.
    5. Beendet - Der Begriff, der verwendet wird, wenn der ausgeführte Prozess abgeschlossen ist.
    • Präventive Planung
    Preemptive Scheduling ist, wenn ein Computerprozess unterbrochen wird und die Leistung der CPU an einen anderen Prozess mit einer höheren Priorität übergeben wird. Diese Art der Planung tritt auf, wenn ein Prozess vom laufenden Zustand in einen bereiten Zustand oder von einem wartenden Zustand in einen bereiten Zustand wechselt.

    • Nicht-präemptive Planung
    Non-Preemptive Scheduling ermöglicht es, den Prozess bis zum Abschluss zu durchlaufen, bevor mit der nächsten Aufgabe übergegangen wird.

    Hier ist ein Beispiel für die frühere präemptive Planung: Wenn Sie eine Softwareanwendung wie einen Texteditor starten, weist das Betriebssystem die Aufgabe dem Prozessor zu und weist dem Programm Festplattenspeicher, Arbeitsspeicher und andere Ressourcen zu. das Texteditorprogramm ist jetzt in einem laufenden Zustand. Wenn Sie sich entscheiden, eine zweite Anwendung zu starten und ein neuer Prozess generiert wird, werden dem neuen Programm verschiedene erforderliche Ressourcen zugewiesen und der Texteditor wird in einem Warte- oder Bereitschaftszustand gehalten, bis der neue Prozess ausgeführt wurde.
  • Beim präemptiven Scheduling wird der Prozess zwangsweise in den Wartezustand versetzt, wenn ein Prozess mit höherer Priorität an die CPU kommt.
    Beim nicht_präemptiven Scheduling kann der Prozess im laufenden Zustand nicht gezwungen werden, die CPU zu verlassen, bis er abgeschlossen ist.
  • NON-PREEMPTIVE: Dies ist die Planung, bei der der Prozess der Task auf einem beliebigen Prozessor nicht beendet wird, bis sie abgeschlossen
    ist
  • Beim präemptiven Scheduling nehmen wir den aktuell ausgeführten Prozess vor.
    Im nicht präemptiven Modus erlauben wir dem aktuellen Prozess, seine CPU-Burstzeit zu beenden.

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear