Bisher haben wir die Prozesse entsprechend ihrer Ankunftszeit geplant (im FCFS-Scheduling). Der SJF-Planungsalgorithmus plant die Prozesse jedoch entsprechend ihrer Burst-Zeit.
Bei der SJF-Planung wird der Prozess mit der niedrigsten Burst-Zeit aus der Liste der verfügbaren Prozesse in der Bereitschaftswarteschlange als nächstes geplant.
Es ist jedoch sehr schwierig, die für einen Prozess benötigte Burst-Zeit vorherzusagen, weshalb es sehr schwierig ist, diesen Algorithmus im System zu implementieren.
Vorteile von SJF
- Maximaler Durchsatz
- Minimale durchschnittliche Warte- und Bearbeitungszeit
Nachteile von SJF
- Kann unter dem Problem des Hungerns leiden
- Es ist nicht umsetzbar, da die genaue Burst-Zeit für einen Prozess nicht im Voraus bekannt sein kann.
Es stehen verschiedene Techniken zur Verfügung, mit denen die CPU-Burst-Zeit des Prozesses bestimmt werden kann. Wir werden sie später im Detail besprechen.
Beispiel
Im folgenden Beispiel gibt es fünf Jobs mit den Namen P1, P2, P3, P4 und P5. Ihre Ankunftszeit und Burst-Zeit sind in der folgenden Tabelle angegeben.
PID | Ankunftszeit | Burst-Zeit | Vervollständigungszeit | Seitenwechsel | Wartezeit |
---|---|---|---|---|---|
1 | 1 | 7 | 8 | 7 | 0 |
2 | 3 | 3 | 13 | 10 | 7 |
3 | 6 | 2 | 10 | 4 | 2 |
4 | 7 | 10 | 31 | 24 | 14 |
5 | 9 | 8 | einundzwanzig | 12 | 4 |
Da kein Prozess zum Zeitpunkt 0 eintrifft; Es wird ein leerer Steckplatz im sein Gantt-Diagramm von Zeit 0 bis 1 (die Zeit, zu der der erste Prozess eintrifft).
Gemäß dem Algorithmus plant das Betriebssystem den Prozess, der unter den verfügbaren Prozessen in der Bereitschaftswarteschlange die niedrigste Burst-Zeit hat.
Bisher haben wir nur einen Prozess in der Bereitschaftswarteschlange, daher wird der Scheduler diesen unabhängig von seiner Burst-Zeit für den Prozessor einplanen.
Dies wird bis zu 8 Zeiteinheiten ausgeführt. Bis dahin sind drei weitere Prozesse in der Bereitschaftswarteschlange angekommen, daher wählt der Scheduler den Prozess mit der niedrigsten Burst-Zeit aus.
Von den in der Tabelle aufgeführten Prozessen wird P3 als nächstes ausgeführt, da er unter allen verfügbaren Prozessen die kürzeste Burst-Zeit aufweist.
So wird das Verfahren also weitergehen kürzester Job zuerst (SJF) Planungsalgorithmus.
Durchschnittliche Wartezeit = 27/5