Completely Fair Scheduler

Completely Fair Scheduler

Der Completely Fair Scheduler (kurz CFS) ist ein Prozess-Scheduler in der Informatik. Solche Scheduler werden verwendet, um die Priorität von Programmabläufen auf Kernelebene von Betriebssystemen zu verwalten. CFS wurde von Ingo Molnár entwickelt und ersetzte mit der Linux-Kernelversion 2.6.23 im Oktober 2007 den zuvor implementierten O(1)-Scheduler.

Der CFS garantiert eine faire Aufteilung der Prozessorzeit. Er verzichtet im Gegensatz zum O(1)-Scheduler auf Heuristiken und Statistiken. Im Idealfall läuft beim CFS jeder Task quasiparallel in gleicher Geschwindigkeit. Der CFS kennt keine Runqueue, keine Timeslices und kein Array-Switching, weil es kein expired-Array gibt. Stattdessen ist jedem Prozess ein wait_runtime-Wert zugeordnet, der auf Nanosekunden genau bestimmt ist, und eine Aussage darüber macht, wie lange der Prozess auf seine Ausführung wartet. Derjenige Prozess mit höchster wait_runtime wird gewählt. Als Struktur wird dafür ein nach der wait_runtime sortierter Rot-Schwarz-Baum verwendet.[1]

Erweiterungen im 2.6.24er-Kernel

Mit dem 2.6.24er-Kernel unterstützt der CFS Task Groups. Dies bedeutet, dass mehrere Tasks zu Gruppen zusammengefasst werden und dadurch ein faires Scheduling zwischen den Gruppen stattfindet. Das kann sinnvoll sein, wenn mehrere User an einem System arbeiten.

Folgendes Szenario soll den Sachverhalt einmal verdeutlichen: Benutzer A hat zwei Prozesse am Laufen, Benutzer B dagegen einen. Alle drei Prozesse haben die gleiche Priorität. Der alte Scheduler würde dem Benutzer A zwei Drittel und Benutzer B ein Drittel der CPU-Laufzeit zuteilen. Der CFS teilt dagegen beiden Usern 50% der Rechenzeit zu.[1]

Quellen

  1. a b Ingo Molnár: This is the CFS scheduler., Stand 13. März 2008

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Completely Fair Scheduler — The Completely Fair Scheduler is the name of a task scheduler which was merged into the 2.6.23 release of the Linux kernel. It handles CPU resource allocation for executing processes, and aims to maximize overall CPU utilization while also… …   Wikipedia

  • Completely Fair Scheduler — Pour les articles homonymes, voir CFS. Le Completely Fair Scheduler (ordonnanceur complètement équitable en français), ou CFS est un ordonnanceur de tâches pour le noyau Linux, qui a fait son apparition avec la version 2.6.23 sortie le… …   Wikipédia en Français

  • Completely Fair Queuing — Le Completely Fair Queuing (File d attente complètement équitable en anglais), ou CFQ, est un ordonnanceur de tâches d E/S pour le noyau Linux et écrit par Jens Axboe. CFQ fonctionne en plaçant les requêtes synchrones soumises par les processus… …   Wikipédia en Français

  • Scheduler (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • O(1)-Scheduler — Linux (Kernel) Entwickler Linus Torvalds u. v. m. Sprache(n) …   Deutsch Wikipedia

  • O(1) scheduler — An O(1) scheduler is a kernel scheduling design that can schedule processes within a constant amount of time, regardless of how many processes are running on the operating system. One of the major goals of operating system designers is to… …   Wikipedia

  • Prozess-Scheduler — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, die die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Brain Fuck Scheduler — Entwickler Con Kolivas Aktuelle Version 363 (6. Januar 2011) Betriebssystem Linux Programmier­sprache C …   Deutsch Wikipedia

  • O(n) scheduler — The O(n) scheduler[1] is the scheduler used in the Linux kernel between versions 2.4 and 2.6. Since version 2.6, it has been replaced by the O(1) scheduler and later by the Completely Fair Scheduler (CFS). Contents 1 Algorithm 2 Advantages …   Wikipedia

  • Complete Fair Queuing — Completely Fair Queuing Le Completely Fair Queuing (File d attente complètement équitable en anglais), ou CFQ, est un ordonnanceur de tâches d E/S pour le noyau Linux et écrit par Jens Axboe. CFQ fonctionne en plaçant les requêtes synchrones… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”