Dieses Problem ist einer der Hauptgründe, warum es selten in normalen Umgebungen verwendet wird, da der SJF-Algorithmus eine genaue Schätzung der Laufzeit aller Prozesse erfordert, die nur in speziellen Umgebungen gegeben ist.
In allgemeinen Situationen können Sie nur eine geschätzte und ungenaue Länge der Prozesslaufzeit erhalten, indem Sie beispielsweise die Länge früherer CPU-Bursts desselben Prozesses aufzeichnen und mithilfe mathematischer Näherungsverfahren berechnen, wie lange das nächste Mal ausgeführt wird.
Wenn Sie eine Bandbreite zum Brennen haben, können Sie möglicherweise den tatsächlichen Code finden hier . Beginne bei 2.0, wo du es als experimentell empfindest.
SJF war (IIRC) extrem kurzlebig, für die genaue Gründe, die ZelluX festgestellt hat .
Ich glaube, Ihre einzige Hoffnung, die Methode hinter ihrem Wahnsinn zu verstehen, lebt an dieser Stelle im Code. Sie können in der Lage sein, es zu erstellen und es in einem Simulator starten zu lassen.
Bearbeiten:
Ich bin mir jetzt nicht ganz sicher, ob es jemals in die Mainline geschafft hat. Wenn du es nicht finden kannst, gib mir keine Vorwürfe:)
Tags und Links kernel linux linux-kernel scheduling