Einer der gebräuchlichsten präventiven Planungsalgorithmen ist der Shortest Remaining Time First (SRTF)-Algorithmus, der bei Anwendung auf nicht präemptive Planung auch als Shortest Job First (SJF)-Algorithmus bekannt ist.
Bei SRTF wird der Prozessor dem Prozess zugewiesen, der am wenigsten Zeit zum Abschluss hat. Dadurch wird sichergestellt, dass kürzere Aufträge vor längeren Aufträgen erledigt werden, was die durchschnittliche Wartezeit und Bearbeitungszeit für alle Prozesse verbessern kann.
So funktioniert der SRTF-Algorithmus:
1. Der Scheduler unterhält eine Warteschlange von Prozessen, die in aufsteigender Reihenfolge ihrer verbleibenden Ausführungszeit sortiert sind.
2. Dem Prozess an der Spitze der Warteschlange wird der Prozessor zugewiesen.
3. Wenn ein neuer Prozess mit einer kürzeren verbleibenden Ausführungszeit als der aktuell laufende Prozess eintrifft, wird der laufende Prozess vorgezogen und dem neuen Prozess der Prozessor zugewiesen.
4. Dieser Vorgang wird fortgesetzt, bis alle Prozesse abgeschlossen sind.
Der SRTF-Algorithmus ist für seine Fairness und Effizienz bekannt. In der Praxis kann es jedoch schwierig sein, dies effizient zu implementieren, da der Planer die Warteschlange der Prozesse ständig aktualisieren muss.