C is the primary programming language of the Linux kernel.
Linus Torvalds began developing the Linux kernel in 1991, and C became its main implementation language. C provides direct control over memory and hardware while remaining more portable than writing an entire operating system in assembly language. Those properties suited a kernel intended to run on many processor architectures.
The Linux kernel also contains architecture-specific assembly code and, increasingly, selected Rust components. Rust support was added to the kernel’s development process in the 2020s, but Rust has not replaced C as the kernel’s primary language.
The Linux kernel is distinct from a complete Linux distribution. The kernel manages hardware, memory, processes, and system calls; distributions combine it with utilities, libraries, package managers, and applications. C is also central to Unix history, since the original Unix system was largely rewritten in C at Bell Labs.