the Linux kernel
/ LIN-uuks /
The Linux kernel is the engine at the centre of the most widely used operating system on Earth — it runs most web servers, every Android phone, supercomputers, cars, routers, and likely the cloud behind whatever app you opened today. It was started in 1991 by a student, Linus Torvalds, who wrote it as a free, open-source alternative to the commercial Unix systems of the time. Open source means anyone may read, change, and share the code, and over the decades thousands of people and companies have built it together, making it perhaps the largest collaborative software project in history.
Technically Linux is a monolithic kernel: scheduling, memory management, file systems, networking, and device drivers all run together in one privileged kernel address space, talking to each other by ordinary function calls rather than by message passing. That design is fast because crossing between subsystems is cheap, but it also means a bug in one driver can in principle crash or compromise the whole kernel. Linux softens this with loadable kernel modules — pieces of kernel code (often a driver for a specific device) that can be loaded and unloaded at runtime, so the core stays lean and the kernel can grow only the parts a given machine needs. So Linux is monolithic in structure yet modular in packaging.
Two honest clarifications matter. First, strictly speaking Linux is only the kernel; a usable system also needs system programs, libraries, and tools (much of it from the GNU project and others), which is why some people insist on the name GNU/Linux. Second, monolithic does not mean primitive — Linux scales from a tiny embedded board with a few megabytes of memory to a server with thousands of CPU cores, precisely because so much engineering has gone into making its locking, scheduling, and memory management work well at every size.
You plug in a USB Wi-Fi adapter. The kernel detects the new device, looks up the matching driver, and loads it as a kernel module — you can even see it appear with a command like lsmod. The networking stack already in the kernel then uses that freshly loaded driver to send and receive packets, with no reboot needed.
Monolithic core, modular drivers: the kernel grows only the parts each machine needs.
People often say Linux and mean a whole distribution (Ubuntu, Android, Debian). Precisely, Linux is just the kernel; the rest — shell, package manager, desktop — is separate software bundled around it.