Welche Planungsalgorithmen verwendet der Linux-Kernel?Welche Planungsalgorithmen verwendet der Linux-Kernel?
Wo kann ich mehr Informationen über Linux Kernel bekommen? (OS ersten Kurs ... Studenten-Ebene)
Welche Planungsalgorithmen verwendet der Linux-Kernel?Welche Planungsalgorithmen verwendet der Linux-Kernel?
Wo kann ich mehr Informationen über Linux Kernel bekommen? (OS ersten Kurs ... Studenten-Ebene)
Ich glaube, dass "vollständig fair Scheduler" mit neuesten Kernel verwendet wird. Ich denke, Sie können eine gute Menge an Informationen, wenn Sie nur in Google suchen.
Link: http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
Der Linux-Kernel verschiedene Scheduling-Algorithmen zur Verfügung sowohl für die Prozessplanung und für I/O-Scheduling hat. Laden Sie es von www.kernel.org und rufen
make menuconfig
Sie erhalten eine vollständige Liste aller verfügbaren Optionen mit einem integrierten Hilfe bekommen. Ein Typ, der einmal mit seinem O (1) Scheduler kam, ist Con Kolivas. Definitiv muss man sich ansehen, was er getan hat. Ich war einmal ein großer Durchbruch.
Es wäre Sei nett, wenn du die Kategorie in menuconfig erwähnen kannst, dass die Scheduler gefunden werden können. – recluze
Ich denke, der Linux-Kernel hat tatsächlich ein paar verschiedene Scheduler, aus denen Sie zur Kompilierzeit auswählen können. Um mehr über den Linux-Kernel zu erfahren, können Sie den Quellcode des Kernels herunterladen (oder ihn online durchsuchen) und im Verzeichnis Dokumentation suchen. Zum Beispiel könnte das scheduler Unterverzeichnis hilfreich sein. Sie können natürlich auch nur den Code selbst betrachten.
Der IO-Scheduler verfügt über verschiedene Algorithmen. Der Prozessplaner nicht. –
Wie bereits erwähnt, stehen je nach Verwendungszweck mehrere Scheduling-Algorithmen zur Verfügung.
Überprüfen Sie this article, wenn Sie mehr über das Planen in Linux erfahren möchten.
Eine neue Ergänzung zu Linux Kernel ist EDF (Frühest Frist zuerst) für garantierte Realtime Unterstützung http://lkml.org/lkml/2009/9/22/186 http://www.evidence.eu.com/content/view/313/390/
Linux Kernel erlaubt drei verschiedene Scheduling-Algorithmen vor allem
Die dritten Planungsverfahren, die es mit niedrigerer Version von Linux-Versionen wie 2.4
Wie kann es SJF tun, ohne die Dauer der Jobs vorher zu kennen? – pinkpanther
@pinkpanther Es beobachtet ihre vergangenen Verhaltensweisen und verschiebt sie dementsprechend in den Prioritätswarteschlangen auf und ab. –
unterscheidet Wenn Sie nur wollen, zu überprüfen, was Scheduler Ihr Linux-System verwendet wird, und die zur Verfügung stehen Sie den folgenden Befehl ausführen können:
cat /sys/block/sda/queue/scheduler
Die eine zwischen der [] ist die, die es im Moment verwendet. Die anderen sind verfügbar. es zu ändern:
sudo bash -c 'echo deadline > /sys/block/sda/queue/scheduler'
Seien Sie vorsichtig, es zu setzen allerdings auf Standard zurück, es sei denn, Sie wissen, was Sie tun und wollen.
Standard (in neueren Ubuntu-Distributionen mindestens) ist CFQ (Completely Fair Scheduling):
http://en.wikipedia.org/wiki/CFQ
Interview mit dem Schöpfer (Jens Axboe):
Meinen Sie der "Scheduling-Algorithmus, den der Linux-Kernel verwendet"? –
mm vielleicht, mein Englisch ist nicht gut. Ich meine, FCFS, Round Robin oder was nutzt der Linux-Kernel, um die Prozesse zu verarbeiten. – Nick
Es ist ein wenig alt, aber versuchen Sie es [diese Seite] (http://web.archive.org/web/20141016155917/http://oreilly.com/catalog/linuxkernel/chapter/ch10.html). (Dies wurde zuvor als eine separate Antwort, die 4 upvotes erhielt. Unglücklicherweise scheint es die Politik der Website auf solche nützliche Antworten, sogar diejenigen, die Menschen für _7 Jahre_ geholfen haben, ist, dass sie gelöscht werden sollten ...) – user200783