From the very first versions of Linux, the scheduler was
realtime POSIX compatible. It supports, among others, the
fixed priority (SCHED_FIFO) policy, which
is the base feature to build a realtime systems. It also
provides the POSIX required: SCHED_RR and
SCHED_OTHER. The range of priorities is
[0..99].

A lot of work has been done to improve the performance of the
scheduler through a careful design which yield to a new
scheduler code and structure. Next stable Linux kernel
(2.4.19), as well as unstable kernel development (2.5.x), will
replace the old scheduler code with an improved "O(1)
scheduler" developed by Ingo Molnar . This new
scheduler is able to manage a large number of processes with
no overhead degradation.