October 2017
Intermediate to advanced
354 pages
9h 28m
English
Linux supports soft real-time tasks and they are scheduled by the real-time scheduling class. rt processes are assigned static priorities and are unchanged dynamically by the kernel. As real-time tasks aim at deterministic runs and desire control over when and how long they are to be scheduled, they are always given preference over normal tasks (SCHED_NORMAL). Unlike CFS, which uses rb tree as its sub-runqueue, the rt scheduler, which is less complicated, uses a simple linked list per priority value (1 to 99). Linux applies two real-time policies, rr and fifo, when scheduling static priority processes; these are indicated by the policy element of struct task_struct.