The kernel is the central component of an operating system: the software that runs with privileged access to the hardware and mediates between user programs and physical devices. The kernel manages memory, schedules processes onto CPUs, handles interrupts, speaks to storage and network devices through drivers, and exposes a controlled interface—the system call boundary—through which user-space programs request services.
The Linux kernel is a monolithic kernel: scheduler, memory manager, filesystems, networking stack, and device drivers all run in a single address space at the highest privilege level (ring 0 on x86). This design trades modularity for performance, since a kernel subsystem can invoke another by an ordinary function call rather than a message pass. Modularity is recovered through loadable kernel modules, which can be inserted or removed at runtime.
The kernel is what makes Linux "Linux": distributions differ in their userland, but nearly all run an upstream kernel released by Linus Torvalds and maintained by thousands of contributors. Major releases appear roughly every nine to ten weeks, with long-term-support (LTS) branches maintained for years. The kernel source lives at kernel.org and is one of the largest collaborative software projects in history.
Related terms: Linux, Monolithic Kernel, System Call, Kernel Module, User Space
Discussed in:
- Chapter 3: The Linux Kernel — What a Kernel Does
Also defined in: Textbook of Linux