scheduler
also: CPU scheduler, task scheduler, process scheduler
The kernel component that decides which processes run on the CPU and when, dividing processor time among competing tasks.
The scheduler is a core part of the Linux kernel that manages CPU time allocation. It maintains queues of processes in different states (runnable, waiting, etc.) and uses algorithms to determine which process gets to use the CPU next and for how long (its time slice or quantum).
Linux uses a preemptive multitasking scheduler, meaning it can interrupt a running process to give CPU time to another. The kernel also implements priority levels and scheduling classes (like SCHED_FIFO, SCHED_RR, and SCHED_OTHER) to handle different workload types differently.
You can view scheduler behavior with tools like top, ps, or chrt. For example, ps -o pid,cmd,priority shows process priorities that influence scheduler decisions.