Refer to this article http://blog.chinaunix.net/uid-27052262-id-3239260.html
Linux supports three process scheduling strategies, namely Sched_fifo , sched_rr , and sched_normal. Linux supports two types of processes, real-time processes and normal processes. Real-time processes can adopt Sched_fifo and sched_rr scheduling strategies, and common processes adopt Sched_normal scheduling strategies.
This paper mainly discusses the general process scheduling algorithm, in order to describe the convenience, the "process" in the later chapters refers to "ordinary process".
from the Linux2.6.23 kernel to the current Linux3.3.5 kernel's normal process (using the scheduling strategy Sched_normal), the absolute Fair scheduling algorithm is adopted, CFS (completely fair schedule). CFS has absorbed the idea of total fairness from the rsdl/sd , no longer tracks the sleep time of the process, and no longer distinguishes between interactive processes. It treats all processes uniformly, and that is the meaning of fairness. In CFS scheduling, the dynamic priority member Prio in the process data structure also continues to work, except that the kernel no longer dynamically adjusts the dynamic priority of the process.
"Todo" Linux process scheduling algorithm learning