Kriterien und Ziele von CPU Scheduling Algorithmen
Eingeordnet in Informatik
Geschrieben am in Deutsch mit einer Größe von 4,01 KB
Kriterien für einen guten Scheduling-Algorithmus
Wichtige Leistungsmerkmale
- Gerechtigkeit (Equity): Stellen Sie sicher, dass jeder Prozess seinen gerechten Anteil an der CPU erhält.
- CPU-Effizienz: Die CPU soll prozentual möglichst lange ausgelastet sein.
- Antwortzeit (Response Time): Minimierung der Antwortzeit für interaktive Benutzer.
- Durchlaufzeit (Turnaround Time): Batch-Benutzer erwarten schnelle Ergebnisse. Minimierung der Zeit, die benötigt wird, um die Ergebnisse zu erzielen.
- Durchsatz (Throughput): Maximierung der Anzahl der pro Stunde verarbeiteten Aufträge.
Arten der Prozessplanung (Scheduling)
Definitionen
- Präemptives Scheduling: Die Strategie, bei der ausführbare Prozesse (aus logischer Sicht) vorübergehend unterbrochen werden können.
- Nicht-präemptives Scheduling: Die Strategie, einen Prozess bis zu seinem Ende durchzuführen, ohne ihn zu unterbrechen.
- Prozessor-Scheduling: Die Bestimmung, wann Prozessoren zugeordnet werden und welche Prozesse ausgeführt werden sollen. Dies liegt in der Zuständigkeit des Betriebssystems.
Detaillierte Ziele der Prozessplanung
Die folgenden Konzepte und Ziele sind bei der Prozessplanung zu berücksichtigen:
Fairness und Gleichbehandlung
- Alle Prozesse sollen gleich behandelt werden.
- Kein Prozess darf auf unbestimmte Zeit verschoben werden (Vermeidung von Starvation).
Kapazitätsmaximierung
- Maximierung der Anzahl der Prozesse, die pro Zeiteinheit bedient werden.
- Maximierung der Anzahl interaktiver Benutzer, die akzeptable Antwortzeiten erhalten (z. B. in weniger als ein paar Sekunden).
Vorhersagbarkeit
- Eine bestimmte Aufgabe sollte unabhängig von der aktuellen Systemlast immer ungefähr zur gleichen Zeit ausgeführt werden.
Minimierung des Overheads
- Wird normalerweise nicht als wichtigstes Ziel betrachtet.
- Balancierung der Ressourcennutzung: Förderung der Prozesse, die vernachlässigte Ressourcen nutzen.
Ausgleich von Reaktionsfähigkeit und Auslastung
- Der beste Weg, gute Reaktionszeiten zu gewährleisten, besteht darin, bei Bedarf genügend Ressourcen zur Verfügung zu stellen. Dies kann jedoch die Gesamtauslastung der Ressourcen verringern.
Vermeidung unbestimmter Verzögerung (Starvation)
- Verwendung einer Aging-Strategie (Alterung).
- Wenn ein Prozess auf eine Ressource wartet, sollte seine Priorität erhöht werden, bis sie so hoch ist, dass der Prozess die erwartete Zuteilung erhält.
Gewährleistung der Priorität
- Planungsmechanismen sollten günstige Bedingungen für Prozesse mit höherer Priorität schaffen.
- Besondere Berücksichtigung wichtiger Ressourcen: Ein Prozess mit niedriger Priorität könnte eine wichtige Ressource belegen, die von einem Prozess mit höchster Priorität benötigt wird.
- Ist die Verzögerung nicht angemessen, sollte der Planungsmechanismus dem Prozess eine bessere Behandlung zukommen lassen, als er normalerweise erhalten würde, um die äußerst wichtige Ressource schnell freizugeben.
Bevorzugung wünschenswerten Verhaltens
- Ein Beispiel für wünschenswertes Verhalten ist eine niedrige Paging-Aktivität.
Stabile Leistung unter hoher Last
- Ein Planungsmechanismus sollte unter der Last eines anspruchsvollen Systems nicht zusammenbrechen.
- Nur langsame Leistungsabnahme bei schweren Lasten.
Vermeidung übermäßiger Belastung
- Lassen Sie die Erstellung neuer Prozesse nicht zu, wenn die Last bereits hoch ist.
- Bewältigung der schwersten Last durch Bereitstellung eines mäßig niedrigeren Dienstleistungsniveaus für alle Prozesse.