What Linux Is
Linux is a kernel — the program that sits between hardware and everything else, handing out CPU time, managing memory, talking to disks and network cards, and answering the system calls that applications make. On its own it boots and then does nothing useful, because a kernel has no shell, no ls, no package manager. What people install and call "Linux" is the kernel wrapped in a userland: a shell, the GNU core utilities, an init system, system libraries, and a few thousand packages, assembled and supported by a distribution.
That distinction is not pedantry — it decides what you patch and what you replace. A kernel CVE means a new kernel package and usually a reboot. A bug in bash or openssl is a userland update with no reboot. Confusing the two is how people end up rebooting for a library fix, or expecting a distribution upgrade to change kernel behavior it never touched.
Kernel versus Operating System
The kernel does four jobs and guards them jealously: it schedules processes onto CPUs, manages physical and virtual memory, drives hardware through device drivers, and exposes the system-call interface that is the only sanctioned way for a program to ask the hardware for anything. When you read a file, your program does not touch the disk; it calls read(), the kernel does the I/O, and the bytes come back. Everything above that line — your shell, your web server, systemd — is just another user-space program making system calls.
An operating system is the kernel plus that user-space layer: the shell that reads your commands, the coreutils (cp, ls, cat, grep) that do the everyday work, the C library that wraps the system calls, and the init system that brings the machine up. Swap any of those and you have a different OS on the same kernel — which is exactly what different distributions are.
The Open-Source Model and Licensing
The Linux kernel is released under the GPLv2, which requires that anyone who ships a modified kernel also makes their source available under the same terms. That single licensing choice shaped the whole ecosystem: hardware vendors upstream their drivers instead of hiding them, distributions can take the same kernel and build wildly different products on it, and no single company owns the result. Development is coordinated by Linus Torvalds and a large maintainer hierarchy, with releases every nine or ten weeks.
The userland carries its own licences — much of it GPL from the GNU project, but also permissively licensed code (MIT, BSD, Apache). For a server operator the practical consequence is supply-chain clarity: every component is auditable, and security fixes are public and traceable to a commit, rather than arriving as an opaque vendor patch.
Where Linux Runs
The same kernel runs on a $5 single-board computer, a phone, a laptop, a rack of servers, and the majority of the public cloud. It powers virtually all of the top supercomputers and the overwhelming majority of web-facing servers. Android is Linux too — its kernel is Linux with a bespoke userland that looks nothing like a server distribution.
This course is about the server. That focus changes what matters: there is no desktop environment to worry about, uptime and remote administration dominate, and the skills that earn their keep are the shell, services, networking, storage, and security — not window managers. Where a topic splits along desktop-versus-server lines, this course takes the server path.
The Unix Heritage
Linux is a Unix-like system, and it inherited a design philosophy worth stating because it explains the entire toolset. Almost everything is represented as a file: regular files, yes, but also directories, devices (/dev/sda), kernel state (/proc, /sys), and even network-adjacent objects. A program reads and writes these the same way it reads a text file, so the same small tools work on all of them.
The second half of the philosophy is composition: many small programs that each do one thing, connected by pipes so the output of one becomes the input of the next. grep filters lines, sort orders them, wc counts them — and chained together they answer questions no single tool was written for. Most of the power in the chapters ahead comes from this idea, not from any one large program.
Linux — strictly, the kernel: scheduler, memory manager, drivers, system calls. Started by Linus Torvalds in 1991. By itself it is not a usable operating system.
Unix — the 1970s operating system from Bell Labs and the family of certified descendants (AIX, Solaris, HP-UX). Linux is Unix-like — it follows the design and the POSIX interface but shares no original code and carries no Unix certification.
GNU — the userland: the shell, coreutils, the C library, the compiler toolchain, begun by the Free Software Foundation before Linux existed. Most distributions are GNU userland on the Linux kernel, which is why "GNU/Linux" is the technically precise name.
- Treating "Linux" and "a distribution" as the same thing — then assuming behavior you saw on Ubuntu holds on RHEL, when the kernel is shared but the userland, defaults, and package tools differ.
- Rebooting to fix a user-space bug. A patched
opensslorbashtakes effect on service restart; only a kernel update genuinely needs a reboot. - Expecting a distribution upgrade to change kernel-level behavior (a scheduler quirk, a syscall) when the kernel version did not move.
- Reasoning about Android as if it were a server distribution — same kernel lineage, completely different userland and constraints.
- Assuming single-vendor, Windows-style support. Support comes from the distribution you chose, and varies enormously between a community release and a commercial one.
- Separate "kernel problem" from "userland problem" before you act — it tells you whether a reboot is even relevant.
- Choose a distribution for its userland and support lifecycle, not for the kernel; the kernel is largely the same code everywhere.
- Learn the system-call boundary early —
straceon a misbehaving program shows you exactly where user space ends and the kernel begins. - Lean on the "everything is a file" model: the same tools that read text files also read
/procand/sys, so one set of skills covers a huge surface. - Think in small composable tools connected by pipes before reaching for a large single-purpose program or a script.
Knowledge Check
In precise terms, what is "Linux"?
- The kernel — scheduler, memory manager, drivers, and the system-call interface — which needs a userland to be a usable OS
- A complete operating system — kernel, shell, core utilities, and installer — built, packaged, and shipped as one product by a single vendor
- A certified member of the original Unix family that shares Bell Labs source code and passes the Single UNIX Specification test suite
- The GNU userland — the bash shell, the coreutils, and the glibc C library that sit above the kernel
A vulnerability is announced in openssl. Why does patching it usually not require a reboot?
opensslis a user-space library; restarting the services that use it is enough — only kernel updates genuinely need a reboot- Library updates always apply live to running processes through the dynamic linker, so the new code takes effect without restarting anything
- The kernel detects the changed file and reloads the shared library into every process automatically on the next system call
- A full reboot is in fact required for any security patch on Linux, kernel or userland alike
Why is "GNU/Linux" considered the technically precise name for a typical distribution?
- The system is the GNU userland (shell, coreutils, C library) running on the Linux kernel — two separately originated projects
- GNU is a fork of the Linux kernel, maintained separately, that most distributions ship in place of Linus Torvalds's mainline version
- GNU is the certification body that audits the kernel and licenses the official Unix trademark to each Linux distribution
- It signals that the distribution is tuned for desktop workstations rather than headless server deployments
You got correct