Strictly, "Linux" refers to the kernel: the program that talks to hardware, manages memory and processes, and exposes system calls that everything else is built on. What most people mean when they say "I'm running Linux" is a distribution (distro) - the kernel bundled with a package manager, an init system, core utilities (usually from the GNU project, hence "GNU/Linux" in some contexts), and a chosen default shell and desktop environment, if any. See Kernel vs. Distribution for how that split works in practice.

Where it came from

Linus Torvalds started the kernel in 1991 as a personal project, posting the source publicly and inviting contributions. It was released under the GNU General Public License (GPL), which is why it paired naturally with the already-mature GNU userland tools (bash, coreutils, gcc, and so on) - those projects needed a free kernel, and Linux needed a userland.

Today the kernel is maintained by thousands of contributors across companies and individuals, coordinated by Torvalds and a set of subsystem maintainers, with a new stable release roughly every 8–10 weeks.

What the kernel actually does

Four responsibilities, roughly:

  • Process management - deciding what runs, when, and on which CPU core. See Process Lifecycle.
  • Memory management - allocating RAM to processes, swapping when needed, enforcing isolation between them.
  • Device drivers - the code that speaks to specific hardware, exposed to userland through a uniform interface.
  • System calls - the API through which every other program asks the kernel to do something (open a file, send a network packet, fork a process).

You can check the exact kernel version any given machine is running with:

uname -r
6.8.0-45-generic

Why "Linux" varies so much by machine

Because the kernel is only one layer, two "Linux" machines can look and behave completely differently depending on the distribution built around it - different package managers (see Package Management), different init systems (see systemd and Services), different default shells, different filesystem layouts. This site tries to call out those differences explicitly rather than assuming any one distribution throughout.