Online-Terminplanung:
Online-Planung ist eine in Betriebssystemen verwendete Technik, bei der ein Prozess erst dann geplant wird, wenn er eingetroffen ist und zur Ausführung verfügbar ist. Das bedeutet, dass der Scheduler nur die Prozesse für die Planung berücksichtigt, die aktuell im Hauptspeicher verfügbar sind.
Einige Prozesse gelangen möglicherweise in die Bereitschaftswarteschlange und einige Prozesse verlassen die Bereitschaftswarteschlange möglicherweise dynamisch. Aufgrund dieser dynamischen und unvorhersehbaren Natur der Online-Planung ist es schwierig, die für die Ausführung eines Prozesses erforderlichen Ressourcen genau abzuschätzen.
Zu den beliebten Algorithmen für die Online-Terminplanung gehören:
- Wer zuerst kommt, mahlt zuerst (FCFS)
- Kürzester Job zuerst (SJF)
- Round Robin (RR)
- Höchste Antwortquote als Nächstes (HRRN)
Offline-Planung:
Im Gegensatz zur Online-Planung berücksichtigt die Offline-Planung alle Prozesse, bevor sie tatsächlich zur Ausführung gelangen. Diese Technik kann angewendet werden, wenn das zukünftige Wissen über die gesamten Prozesse im Voraus bekannt ist.
Basierend auf den gegebenen Prozessen erstellt ein Offline-Planungsalgorithmus einen Zeitplan, der bestimmt, wann und wie lange jeder Prozess ausgeführt wird. Da die Ankünfte und Ausführungsdetails der Prozesse im Voraus bekannt sind, kann die Offline-Planung den optimalen Zeitplan ermitteln.
Allerdings ist eine Offline-Planung in Szenarien nicht möglich, in denen Prozesse dynamisch ankommen und ihr Verhalten während der Ausführung nicht im Voraus vorhergesagt werden kann.
Zu den gängigen Algorithmen für die Offline-Planung gehören:
- Nicht präventiver Shortest Job First (SJF)
- Nicht präventive Prioritätsplanung (Priorität)
- Round Robin (RR)
Vergleich:
| Funktion | Online-Terminplanung | Offline-Planung |
|---|---|---|
| Kenntnis der Prozessankunft | Benötigt nur aktuelle Informationen zu den Prozessen | Erfordert vollständige Kenntnis aller Prozesse im Vorfeld |
| Anpassungsfähigkeit | Kann dynamische Ankünfte von Prozessen effizient verarbeiten | Kann sich nicht an dynamische Ankünfte von Prozessen anpassen |
| Optimalität | Es können keine optimalen Zeitpläne bereitgestellt werden | Kann je nach Algorithmus optimale Zeitpläne bereitstellen |
| Komplexität | Weniger komplex zu implementieren | Komplexer in der Umsetzung, da detaillierte Kenntnisse aller Prozesse erforderlich sind |