CPU-Planung Algorithms in Operating Systems
โก Intelligente Zusammenfassung
Die CPU-Planung bestimmt, welchen bereiten Prozess das Betriebssystem als nรคchstes ausfรผhrt.ping Der Prozessor wird ausgelastet und die Leistung durch Algorithmen wie First Come First Serve, Shortest Job First, Priority und Round Robin verbessert.
Was ist CPU-Planung?
CPU-Planung Die CPU-Planung bestimmt, welcher Prozess die CPU zur Ausfรผhrung nutzt, wรคhrend ein anderer Prozess wartet. Ihre Hauptaufgabe ist es, sicherzustellen, dass das Betriebssystem bei Leerlauf der CPU mindestens einen der in der Warteschlange befindlichen Prozesse zur Ausfรผhrung auswรคhlt. Diese Auswahl trifft der CPU-Scheduler, der einen der im Speicher befindlichen, ausfรผhrungsbereiten Prozesse auswรคhlt.
Arten der CPU-Planung
Hier sind zwei Arten von Terminplanungsmethoden:
Prรคventive Planung
Bei der prรคemptiven Aufgabenplanung werden die Aufgaben meist anhand ihrer Prioritรคten zugewiesen. Manchmal ist es wichtig, eine Aufgabe mit hรถherer Prioritรคt vor einer anderen Aufgabe mit niedrigerer Prioritรคt auszufรผhren, selbst wenn die Aufgabe mit niedrigerer Prioritรคt noch lรคuft. Die Aufgabe mit niedrigerer Prioritรคt wird fรผr eine gewisse Zeit angehalten und fortgesetzt, sobald die Aufgabe mit hรถherer Prioritรคt ihre Ausfรผhrung abgeschlossen hat.
Nicht-prรคventive Planung
Bei dieser Scheduling-Methode wird die CPU einem bestimmten Prozess zugewiesen. Der Prozess, der die CPU belegt, gibt sie entweder durch Kontextwechsel oder durch Beendigung wieder frei. Es ist die einzige Methode, die auf verschiedenen Hardwareplattformen eingesetzt werden kann, da sie im Gegensatz zum prรคemptiven Scheduling keine spezielle Hardware (z. B. einen Timer) benรถtigt.
Wann ist die Terminplanung prรคemptiv bzw. nicht-prรคemptiv?
Um festzustellen, ob die Terminplanung prรคemptiv oder nicht-prรคemptiv ist, berรผcksichtigen Sie diese vier Parameter:
- Ein Prozess wechselt vom laufenden in den wartenden Zustand.
- Ein bestimmter Prozess wechselt vom Zustand โLรคuftโ in den Zustand โBereitโ.
- Ein bestimmter Prozess wechselt vom Wartezustand in den Bereitschaftszustand.
- Ein Prozess hat seine Ausfรผhrung abgeschlossen und wird beendet.
Wenn nur die Bedingungen 1 und 4 zutreffen, spricht man von einer nicht-prรคemptiven Terminplanung. Alle anderen Terminplanungssituationen sind prรคemptiv.
Wichtige Begriffe der CPU-Planung
- Burstzeit/Ausfรผhrungszeit: Die Zeit, die ein Prozess zur vollstรคndigen Ausfรผhrung benรถtigt. Sie wird auch Laufzeit genannt.
- Ankunftszeit: Der Zeitpunkt, an dem ein Prozess in den Bereitschaftszustand eintritt.
- Endzeit: Der Zeitpunkt, an dem ein Prozess abgeschlossen ist und das System verlรคsst.
- Multiprogrammierung: Eine Reihe von Programmen, die gleichzeitig im Speicher vorhanden sein kรถnnen.
- Arbeitsplรคtze: Ein Programmtyp ohne jegliche Benutzerinteraktion.
- Benutzer: Eine Art Programm, das Benutzerinteraktion erfordert.
- Verarbeiten: Die Referenz, die sowohl fรผr eine Stelle als auch fรผr einen Benutzer verwendet wird.
- CPU/IO-Burst-Zyklus: Charakterisiert die Prozessausfรผhrung, die zwischen CPU- und E/A-Aktivitรคt wechselt. Die CPU-Zeiten sind รผblicherweise kรผrzer als die E/A-Zeiten.
CPU-Planungskriterien
Ein CPU-Planungsalgorithmus versucht Folgendes zu maximieren und zu minimieren:
Maximieren
CPU-Auslastung: Die CPU-Auslastung ist die Hauptaufgabe des Betriebssystems, die CPU optimal auszulasten. Sie kann zwischen 0 und 100 Prozent liegen. Bei einem Echtzeitbetriebssystem (RTOS) variiert sie jedoch zwischen 40 Prozent fรผr ein Low-Level-System und 90 Prozent fรผr ein High-Level-System.
Durchsatz: Die Anzahl der Prozesse, die pro Zeiteinheit ihre Ausfรผhrung abschlieรen, wird als Durchsatz bezeichnet. Wenn die CPU also mit der Ausfรผhrung eines Prozesses beschรคftigt ist, wird Arbeit verrichtet, und die pro Zeiteinheit geleistete Arbeit wird als Durchsatz bezeichnet.
Minimieren
Wartezeit: Die Wartezeit ist die Zeitspanne, die ein bestimmter Prozess in der Warteschlange warten muss.
Reaktionszeit: Es handelt sich um die Zeitspanne von der Einreichung der Anfrage bis zum Erhalt der ersten Antwort.
Seitenwechsel: Die Durchlaufzeit ist die Zeitspanne, die zur Ausfรผhrung eines bestimmten Prozesses benรถtigt wird. Sie umfasst die Wartezeit fรผr den Speicherzugriff, die Wartezeit in der Warteschlange und die Ausfรผhrungszeit auf der CPU. Die Zeitspanne zwischen der Prozessรผbermittlung und dem Abschluss des Prozesses ist die Durchlaufzeit.
Intervall-Timer
Die Timer-Unterbrechung ist eine Methode, die eng mit der Vorbelegung zusammenhรคngt. Wenn ein bestimmter Prozess die CPU-Zuteilung erhรคlt, kann ein Timer auf ein bestimmtes Intervall eingestellt werden. Sowohl die Timer-Unterbrechung als auch die Vorbelegung zwingen einen Prozess dazu, die CPU zurรผckzugeben, bevor sein CPU-Burst abgeschlossen ist.
Die meisten Betriebssysteme mit mehreren Programmen verwenden eine Art Timer, um zu verhindern, dass ein Prozess das System fรผr immer blockiert.
Was ist Dispatcher?
Der Dispatcher ist ein Modul, das die CPU-Steuerung fรผr den Prozess รผbernimmt. Er muss schnell sein, um bei jedem Kontextwechsel ausgefรผhrt werden zu kรถnnen. Die Dispatch-Latenz ist die Zeit, die der CPU-Scheduler benรถtigt, um einen Prozess zu beenden und einen anderen zu starten.
Vom Disponenten ausgefรผhrte Funktionen:
- Kontextwechsel.
- Wechsel in den Benutzermodus.
- An die richtige Stelle im neu geladenen Programm wechseln.
Arten der CPU-Planung Algorithms
Es gibt hauptsรคchlich sechs Arten von Prozessplanungsalgorithmen:
- Wer zuerst kommt, mahlt zuerst (FCFS)
- Shortest-Job-First (SJF)-Planung
- Kรผrzeste verbleibende Zeit
- Prioritรคtsplanung
- Round-Robin-Planung
- Mehrstufige Warteschlangenplanung
Planung Algorithms
Wer zuerst kommt, malt zuerst
FCFS steht fรผr Wer zuerst kommt, malt zuerstEs handelt sich um den einfachsten und unkompliziertesten CPU-Scheduling-Algorithmus. Bei diesem Algorithmus erhรคlt der Prozess, der die CPU anfordert, diese zuerst. Dieses Scheduling-Verfahren kann mithilfe einer FIFO-Warteschlange umgesetzt werden.
Sobald ein Prozess in die Warteschlange eintritt, wird sein Prozesskontrollblock (PCB) mit dem letzten Prozess der Warteschlange verknรผpft. Wenn die CPU frei wird, sollte sie daher dem Prozess am Anfang der Warteschlange zugewiesen werden.
Merkmale der FCFS-Methode
- Es handelt sich um einen nicht-prรคemptiven Scheduling-Algorithmus.
- Auftrรคge werden immer nach dem Prinzip โWer zuerst kommt, mahlt zuerstโ ausgefรผhrt.
- Es ist einfach zu implementieren und zu verwenden.
- Allerdings weist diese Methode eine schlechte Leistung auf und die allgemeine Wartezeit ist recht hoch.
Kรผrzeste verbleibende Zeit
SRT steht fรผr โShortest Remaining Timeโ (kรผrzeste verbleibende Zeit). Es ist auch als prรคemptives Scheduling (SJF) bekannt. Bei dieser Methode wird der Prozess derjenigen Aufgabe zugewiesen, die am nรคchsten an ihrer Fertigstellung ist. Dadurch wird verhindert, dass ein neuerer, bereiter Prozess die Fertigstellung eines รคlteren Prozesses verzรถgert.
Merkmale der SRT-Planungsmethode
- Diese Methode wird hauptsรคchlich in Batch-Umgebungen angewendet, in denen kurzen Auftrรคgen Vorrang eingerรคumt werden muss.
- Dies ist keine ideale Methode zur Implementierung in einem gemeinsam genutzten System, in dem die benรถtigte CPU-Zeit unbekannt ist.
- Jedem Prozess ist die Lรคnge seines nรคchsten CPU-Bursts zugeordnet, sodass das Betriebssystem diese Lรคngen nutzt, um den Prozess mit der kรผrzestmรถglichen Zeit einzuplanen.
Prioritรคtsbasierte Planung
Prioritรคtsplanung ist eine Methode zur prioritรคtsbasierten Prozessplanung. Dabei wรคhlt der Scheduler die zu bearbeitenden Aufgaben entsprechend ihrer Prioritรคt aus.
Die Prioritรคtsplanung unterstรผtzt das Betriebssystem bei der Prioritรคtsvergabe. Prozesse mit hรถherer Prioritรคt werden zuerst ausgefรผhrt, wรคhrend Aufgaben mit gleicher Prioritรคt nach dem Round-Robin- oder FCFS-Prinzip abgearbeitet werden. Die Prioritรคt kann anhand von Speicherbedarf, Zeitanforderungen und anderen Faktoren festgelegt werden.
Round-Robin-Planung
Round Robin ist einer der รคltesten und einfachsten Scheduling-Algorithmen. Sein Name leitet sich vom Round-Robin-Prinzip ab, bei dem jeder Teilnehmer abwechselnd die gleiche Menge an Ressourcen erhรคlt. Er wird hauptsรคchlich fรผr das Scheduling in Multitasking-Systemen eingesetzt. Diese Methode trรคgt dazu bei, dass Prozesse ohne Wartezeiten ausgefรผhrt werden.
Merkmale der Round-Robin-Planung
- Round Robin ist ein hybrides, taktgesteuertes Modell.
- Der fรผr die Bearbeitung einer bestimmten Aufgabe vorgesehene Zeitrahmen sollte minimal sein. Er kann jedoch je nach Prozess variieren.
- Es verhรคlt sich wie ein Time-Sharing-System, das auf jeden Prozess innerhalb eines bestimmten Zeitlimits reagiert.
Kรผrzester Job zuerst
SJF (Shortest Job First) ist ein Scheduling-Algorithmus, bei dem der Prozess mit der kรผrzesten Ausfรผhrungszeit als nรคchster Prozess ausgewรคhlt wird. Dieses Scheduling-Verfahren kann prรคemptiv oder nicht-prรคemptiv sein. Es reduziert die durchschnittliche Wartezeit fรผr andere, auf die Ausfรผhrung wartende Prozesse erheblich.
Merkmale der SJF-Planung
- Jedem Auftrag ist eine Zeiteinheit fรผr die Erledigung zugeordnet.
- Bei dieser Methode wird, wenn die CPU verfรผgbar ist, der nรคchste Prozess oder Auftrag mit der kรผrzesten Ausfรผhrungszeit zuerst ausgefรผhrt.
- Die Umsetzung erfolgt mit einer nicht-prรคemptiven Strategie.
- Dieser Algorithmus eignet sich fรผr die Stapelverarbeitung, bei der das Warten auf den Abschluss der Auftrรคge nicht kritisch ist.
- Es verbessert die Arbeitsleistung, indem es zuerst kรผrzere Auftrรคge ausfรผhrt, die meist eine kรผrzere Bearbeitungszeit haben.
Planung von Warteschlangen auf mehreren Ebenen
Dieser Algorithmus teilt die Warteschlange fรผr bereite Prozesse in mehrere separate Warteschlangen auf. Dabei werden Prozesse anhand spezifischer Prozesseigenschaften, wie z. B. Prozessprioritรคt, Speichergrรถรe usw., einer Warteschlange zugeordnet.
Dies ist jedoch kein unabhรคngiger Scheduling-Algorithmus, da er andere Algorithmen benรถtigt, um die Jobs zu planen.
Merkmale der mehrstufigen Warteschlangenplanung
- Fรผr Prozesse mit gemeinsamen Eigenschaften sollten mehrere Warteschlangen gefรผhrt werden.
- Jede Warteschlange kann ihren eigenen separaten Planungsalgorithmus haben.
- Jedem Warteschlangenbereich werden Prioritรคten zugewiesen.
Der Zweck eines Scheduling-Algorithmus
Hier sind die Grรผnde fรผr die Verwendung eines Planungsalgorithmus:
- Die CPU nutzt Scheduling, um ihre Effizienz zu verbessern.
- Es hilft Ihnen dabei, Ressourcen auf konkurrierende Prozesse zu verteilen.
- Die maximale Auslastung der CPU kann durch Multiprogrammierung erreicht werden.
- Die auszufรผhrenden Prozesse werden in der Warteschlange gespeichert.




