Voraussetzungen: Prioritätsplanung
Wir haben bereits in diesem Beitrag über die Prioritätsplanung diskutiert. Es ist einer der häufigsten Planungsalgorithmen in Batch-Systemen. Jedem Prozess wird eine Priorität zugewiesen. Prozess mit der höchsten Priorität ist zuerst ausgeführt werden und so weiter.
In diesem Beitrag werden wir ein großes Problem im Zusammenhang mit der Prioritätsplanung und deren Lösung diskutieren.,
Hunger oder unbestimmte Blockierung ist ein Phänomen, das mit den Prioritätsplanungsalgorithmen verbunden ist, bei denen ein Prozess, der für die CPU bereit ist, auf unbestimmte Zeit wegen niedriger Priorität warten kann. In stark belasteten Computersystemen kann ein stetiger Strom von Prozessen mit höherer Priorität verhindern, dass ein Prozess mit niedriger Priorität jemals die CPU erhält.
Es gab Gerüchte, dass 1967 Priority Scheduling in IBM 7094 am MIT verwendet wurde, und sie fanden einen Prozess mit niedriger Priorität, der erst 1973 eingereicht worden war.,
Wie wir im obigen Beispiel Prozess mit höherer Priorität als andere Prozesse sehen CPU früher. Wir können uns ein Szenario vorstellen, in dem nur ein Prozess eine sehr niedrige Priorität hat (zum Beispiel 127) und wir anderen Prozess mit hoher Priorität geben, dies kann dazu führen, dass unbegrenzt auf den Prozess für CPU gewartet wird, der eine niedrige Priorität hat, dies führt zu Hunger. Weiter haben wir auch über die Lösung des Hungers diskutiert.,
Unterschiede zwischen Deadlock und Verhungern in OS:
- Deadlock tritt auf, wenn keiner der Prozesse in der Menge aufgrund der Belegung der erforderlichen Ressourcen durch einen anderen Prozess vorankommen kann, wie in der Abbildung unten gezeigt, andererseits tritt Verhungern auf, wenn ein Prozess auf unbestimmte Zeit wartet, um die Ressource zu erhalten, die er benötigt.
- Anderer Name des Deadlocks wartet nicht. Anderer Name des Hungers ist gelebtes Schloss.,
- Wenn ein Deadlock auftritt, kann kein Prozess Fortschritte machen, während im Hungerzustand abgesehen vom Opferprozess andere Prozesse fortschreiten oder fortfahren können.
Hungerlösung: Altern
Altern ist eine Technik, mit der die Priorität von Prozessen, die lange im System warten, schrittweise erhöht wird.Wenn beispielsweise die Priorität von 127(niedrig) bis 0(hoch) reicht, können wir die Priorität eines Warteprozesses alle 15 Minuten um 1 erhöhen. Schließlich würde sogar ein Prozess mit einer anfänglichen Priorität von 127 nicht länger als 32 Stunden dauern, bis ein Prozess mit Priorität 127 zu einem Priority-0-Prozess altern würde.,
Dieser Artikel wird von Saloni Gupta beigesteuert. Wenn Sie GeeksforGeeks mögen und einen Beitrag leisten möchten, können Sie auch einen Artikel mit schreiben contribute.geeksforgeeks.org oder mailen Sie Ihren Artikel an [email protected]. Sehen Sie Ihren Artikel auf der Hauptseite von GeeksforGeeks und helfen Sie anderen Geeks.