FreeBSD is a UNIX operating system for the Intel x86 platform based on UC
Berkeley's 4.4BSD-Lite release. FreeBSD's scheduler is a typical decay usage
priority scheduler. The scheduler employs a multi-level feedback queue in which
processes with equal priority reside on the same run-queue. The scheduler runs
processes round-robin from the highest priority non-empty runqueue. Long
(100ms) time slices make TLB and cache state flushing infrequent, imposing
minimal overhead on CPU-bound processes. The scheduler favors interactive
processes by lowering the priority of processes as they consume CPU time and
by preempting processes before their quanta expire if a higher priority sleeping
process wakes up. The scheduler prevents starvation by periodically raising the
priority of processes that have not recently run. FreeBSD's scheduler also
employs higher priorities for processes holding kernel resources. These kernel
priorities cause processes to release high-demand kernel resources quickly,
reducing the contention for these resources.