Real-Time Scheduler (RT)

struct sched_rt_entity

Linux provides two real-time scheduling policies, SCHED_FIFO and SCHED_RR. The normal, not real-time scheduling policy is SCHED_NORMAL (CFS). Via the scheduling classes framework, these real-time policies are managed not by the CFS, but by a special real-time scheduler, defined in /kernel/sched/rt.c.

SHED_FIFO implements a simple first-in, first-out scheduling algorithm without timeslices. SCHED_RR is identical to SCHED_FIFO except that each process can run only until it exhausts a predetermined timeslice. It is a real-time, round-robin scheduling algorithm.

Both real-time scheduling policies implement static priorities. This ensures that a real-time process at a given priority always preempts a process at a lower priority.

The real-time scheduling policies in Linux provide soft real-time behavior. Soft real-time refers to the notion that the kernel tries to schedule applications within timing deadlines, but the kernel does not promise to always achieve these goals.

Hard real-time systems are guaranteed to meet any scheduling requirements within certain limits. Linux makes no guarantees on the capability to schedule real-time tasks.

The real-time scheduling policies in Linux provide soft real-time behavior. Soft real-time refers to the notion that the kernel tries to schedule applications within timing deadlines, but the kernel does not promise to always achieve these goals.


This site uses Just the Docs, a documentation theme for Jekyll.