Completely Fair Scheduler

The Completely Fair Scheduler ( CFS ) is a process scheduler in computer science. Such schedulers are used to manage the priority of program operations at the kernel level of operating systems. CFS was developed by Ingo Molnar and replaced with the Linux kernel version 2.6.23 in October 2007, its previously implemented O (1) scheduler.

The CFS ensures a fair distribution of processor time. He waived in contrast to the O (1) scheduler on heuristics and statistics. Ideally, each process runs at CFS quasi-parallel at the same speed. The CFS has no runqueue no time slices and not an array switching, because it is no expired array. Instead, each process is assigned a wait_runtime value, which is determined on the nanosecond accurate and makes a statement about how long the process waits for its execution. The one process with the highest wait_runtime is selected. One after the wait_runtime assorted red-black tree is used for this purpose as structure.

Enhancements in 2.6.24 kernel

With the 2.6.24 kernel supports the CFS Task Groups. This means that multiple processes are grouped together and takes place by a fair distribution between the groups. This can be useful when multiple users are working on a system.

The following scenario illustrates the behavior: A user can run two processes, user B has a contrast. All three processes have the same priority. The old O (1) scheduler would the user A B allocate two thirds and one third of the user CPU runtime. In contrast, the CFS divides two users 50% of the computation time to.

199039
de