Maximilian
Eine Hauptaufgabe eines Betriebssystems besteht darin, eine Sammlung von Prozessen zu verwalten. In einigen Fällen kann ein einzelner Prozess aus einem Satz einzelner Threads bestehen.
In beiden Situationen muss ein System mit einer einzelnen CPU oder ein Mehrprozessorsystem mit weniger CPUs als Prozesse die CPU-Zeit auf die verschiedenen Prozesse/Threads aufteilen, die um ihre Nutzung konkurrieren. Dieser Vorgang wird als CPU-Scheduling bezeichnet.
CPU-Scheduling-Kriterien:
Es gibt viele Scheduling-Algorithmen und verschiedene Kriterien, um ihre Leistung zu beurteilen. Unterschiedliche Algorithmen können unterschiedliche Arten von Prozessen begünstigen. Einige Kriterien sind. wie folgt:
• CPU-Auslastung: Die CPU muss bei der Ausführung verschiedener Aufgaben so stark wie möglich beschäftigt sein. Die CPU-Auslastung ist in Echtzeitsystemen und mehrfach programmierten Systemen wichtiger.
• Durchsatz: Die Anzahl der in einem bestimmten Zeitraum ausgeführten Prozesse wird als Durchsatz bezeichnet. Bei kurzen Prozessen erhöht sich der Durchsatz. Sie nimmt ab, wenn die Größe der Prozesse riesig ist.
• Durchlaufzeit: Die Zeit, die zur Ausführung eines Prozesses benötigt wird, wird Durchlaufzeit genannt. Es ist die tatsächliche Arbeitszeit zuzüglich der Wartezeit.
• Wartezeit: Die Wartezeit des Prozesses wird Wartezeit genannt. Es ist die Bearbeitungszeit abzüglich der tatsächlichen Arbeitszeit.
• Antwortzeit: Die Zeitspanne zwischen dem Senden einer Anfrage und der ersten Antwort wird als Antwortzeit bezeichnet.
Ein CPU-Planungsalgorithmus sollte versuchen, Folgendes zu maximieren:
• CPU-Auslastung
• Durchsatz
Ein CPU-Scheduling-Algorithmus sollte versuchen, Folgendes zu minimieren:
• Durchlaufzeit
• Wartezeit
• Reaktionszeit
Archibald
CPU-Scheduling ist die Aufgabe, einen wartenden Prozess aus der Ready-Queue auszuwählen und ihm die CPU zuzuordnen. Die CPU wird vom Dispatcher dem ausgewählten Prozess zugewiesen.
Für das CPU-Scheduling werden verschiedene Algorithmen verwendet. FCFS-Scheduling (First-come-first-served) ist der einfachste Scheduling-Algorithmus, kann jedoch dazu führen, dass kurze Prozesse auf sehr lange Prozesse warten. Der Round-Robin-Algorithmus wird für ein Timesharing-System bevorzugt.
Jeder CPU-Scheduling-Algorithmus hat einige Eigenschaften, die sich von anderen unterscheiden. Die Kriterien für die CPU-Planung hängen von den Planungsalgorithmen ab. Die CPU-Scheduling-Kriterien sind unten angegeben.
(1) CPU-Auslastung: Tatsächlich muss eine CPU zu jeder Zeit beschäftigt sein. Die CPU-Auslastung reicht von 0 bis 100 Prozent. Bei einem stark belasteten System muss dieser Bereich über 40 % liegen und bei einem stark beanspruchten System muss dieser Bereich bei etwa 90 % liegen.
(2) Durchsatz: Wenn die CPU ausgelastet ist, bedeutet dies, dass ein Teil der Arbeit vom Computer erledigt wird. Die Anzahl der pro Zeiteinheit abgeschlossenen Prozesse wird als Durchsatz bezeichnet. Diese Rate hängt von der Größe der Prozesse ab. Bei einem langen Prozess kann diese Rate zwei Prozesse pro Stunde betragen.
(3) Bearbeitungszeit: Die Zeit, die ein Prozess während seiner Einreichung und Fertigstellung benötigt, wird als Bearbeitungszeit bezeichnet.
(4) Wartezeit: Wir können die Wartezeit als die Summe der Perioden in der Bereitschaftswarteschlange als Wartezeit definieren.
(5) Antwortzeit: Zeitdauer zwischen der Einreichung einer Anfrage bis zur ersten Antwort.
Thelma
Ein Multi-Programming-Betriebssystem ist darauf ausgelegt, mehr als eine Aufgabe gleichzeitig zu verarbeiten. Die Art und Weise, wie das Betriebssystem die Zuweisung der CPU zu den Prozessen in der Bereitschaftswarteschlange verwaltet, wird als CPU-Planung bezeichnet.