Möchten Sie wissen, welche Scheduling-Mechanismen in 15.04, Time-Sharing oder Echtzeit eingesetzt werden, ich bin mir ziemlich sicher, dass es sich um FIFO, Round Robin, SJF handelt?
PS: Neu bei Linux
Prozess Scheduler
Ein Prozess-Scheduler verwaltet die CPU-Ressourcenzuweisung für die Ausführung von Prozessen und zielt darauf ab, die Gesamt-CPU-Auslastung zu maximieren und gleichzeitig die interaktive Leistung zu maximieren.
Seit Kernel 2.6.23 (das wäre ab Hardy 8.04 LTS) Completely Fair Scheduler (CFS) basierend auf "Rotating Staircase Deadline". Überblick von kernel.org :
CFS steht für "Completely Fair Scheduler" und ist der neue "Desktop" -Prozess-Scheduler, der von Ingo Molnar implementiert und in Linux 2.6.23 zusammengeführt wurde. Es ist der Ersatz für den SCHED_OTHER-Interaktionscode des vorherigen Vanille-Schedulers.
80% des CFS-Designs lassen sich in einem Satz zusammenfassen: CFS modelliert im Grunde genommen eine "ideale, präzise Multitasking-CPU" auf echter Hardware.
"Ideale Multitasking-CPU" ist eine (nicht vorhandene :-)) CPU mit 100% physischer Leistung, die jede Task mit genau gleicher Geschwindigkeit parallel mit jeweils 1 / nr_running-Geschwindigkeit ausführen kann. Beispiel: Wenn zwei Aufgaben ausgeführt werden, wird jede mit 50% physischer Leistung ausgeführt, dh tatsächlich parallel.
Auf realer Hardware können wir nur eine einzige Task gleichzeitig ausführen, daher müssen wir das Konzept der "virtuellen Laufzeit" einführen. Die virtuelle Laufzeit einer Task gibt an, wann ihre nächste Zeitscheibe mit der Ausführung auf der oben beschriebenen idealen Multitasking-CPU beginnen würde. In der Praxis ist die virtuelle Laufzeit einer Aufgabe die tatsächliche Laufzeit, die auf die Gesamtzahl der ausgeführten Aufgaben normiert ist.
I / O-Scheduler
Die Eingabe- / Ausgabeplanung ist die Methode, mit der das Betriebssystem entscheidet, in welcher Reihenfolge Block-E / A-Vorgänge an Speichervolumes gesendet werden.
Phoronix-Artikel zur Zeitplanung : Linux 3.16: Deadline I / O Scheduler führt im Allgemeinen mit einer SSD.
Sie können den E / A-Scheduler ändern, indem Sie in grub die Option "elevator =" an "GRUB_CMDLINE_LINUX_DEFAULT =" anhängen.
Es ist wahrscheinlich einfacher (vorausgesetzt, SDA und Deadline), es so zu machen:
So zeigen Sie die Liste der verfügbaren Planer an:
cat /sys/block/sda/queue/scheduler
Und um einen Zeitplan zu ändern (kann im laufenden Betrieb durchgeführt werden):
echo deadline > /sys/block/sda/queue/scheduler
Von kernel / git / torvalds / linux.git
Sie können überprüfen, wofür verwendet wird (unter der Annahme, dass sda als primäres Programm verwendet wird):
cat /sys/block/sda/queue/scheduler