Operating Systems Deep Dive · 1 of 6

Linux — The Kernel That Runs the Internet

Linux isn't one operating system; it's a kernel and a thousand distributions built on top of it. It's free, it's modular, and it powers nearly every cloud VM, container, supercomputer, and Android phone on the planet. If you write backend software, you ship to Linux.

Open SourceUnix-likeKernelPOSIXServers
← Back to Foundations
Quick Facts

What Linux Is

Basic Concepts

  • Kernel: Linus Torvalds, 1991. The Linux kernel is the part the name refers to — process scheduling, memory, drivers, networking.
  • GNU userland: Coreutils, bash, glibc — the commands and libraries that wrap the kernel into a usable system. Hence "GNU/Linux".
  • Distribution (distro): Kernel + userland + package manager + defaults, packaged. Ubuntu, Debian, Fedora, Arch, Alpine.
  • POSIX-compatible: Follows the Unix process/file/signal model — code written for one Unix usually runs on another.
  • Free & open source: GPLv2 license. Anyone can read, modify, and redistribute the source.
The Family

Major Distributions

DistroFamilyPackage ManagerWhere You See It
UbuntuDebianaptDefault cloud VM, beginner desktops, dev laptops.
DebianDebianaptStable servers, the upstream of Ubuntu.
Red Hat Enterprise Linux (RHEL)Red Hatdnf / yumBig enterprises, banks, government.
FedoraRed HatdnfCutting-edge upstream of RHEL; developer workstations.
AlpineIndependentapkContainers — minimal, ~5MB base image. musl instead of glibc.
ArchIndependentpacmanRolling-release; tinkerers and "I use Arch btw".
Amazon LinuxRed HatdnfEC2 default; tuned for AWS.
Architecture

Layers of the System

Kernel Space vs User Space

The kernel runs in privileged mode and talks to hardware. Your programs run in user space and ask the kernel for things via system calls (open, read, write, fork, execve). A crash in user space kills one process; a kernel crash is a panic.

Everything Is a File

Files, directories, devices (/dev/sda), pipes, sockets, even running processes (/proc/1234) appear in the filesystem. One small set of syscalls (read, write, ioctl) handles them all. This is what makes shell pipelines so powerful.

Process Model

Processes form a tree, rooted at PID 1 (init, usually systemd). New processes are created with fork() (clone the parent) followed by execve() (replace memory with a new program). Threads share memory via clone().

The Filesystem Hierarchy
  • /bin, /usr/bin — executables.
  • /etc — system config.
  • /var — logs, mail, variable state.
  • /home — user home directories.
  • /proc, /sys — virtual filesystems exposing kernel state.
  • /dev — device nodes.
  • /tmp — scratch space, often wiped on boot.
Daily Tools

The Toolbox a Developer Lives In

ToolWhat It Does
bash / zshThe shell — your text-based interface to the OS.
sshSecure remote login. The way you reach a server.
systemdInit system + service manager. systemctl start nginx.
cron / systemd timersScheduled jobs.
iptables / nftablesFirewall rules.
top / htop / psSee what's running and what's eating CPU/memory.
strace / perf / bpftraceTrace syscalls and profile performance — Linux's killer feature.
journalctlRead system + service logs.
Why It Wins

Linux in the Cloud Era

Containers Are Linux

Docker, Kubernetes, and the entire container revolution are built on Linux kernel features: namespaces (process/network/filesystem isolation) and cgroups (CPU and memory limits). Containers are not VMs — they're just Linux processes pretending they're alone.

It's Free and Modifiable

No license fees per VM, no audits, no per-core charges. Cloud providers couldn't have built a $200B/year industry on a per-seat OS. The same property lets Amazon, Google, and Meta tune the kernel for their workloads.

Predictable Server Behavior

Same kernel, same syscalls, same tools across every machine — laptop, container, EC2 instance, Raspberry Pi. The "works on my machine" gap collapses when "my machine" is also Linux.

WSL — Linux on Windows

Windows Subsystem for Linux runs a real Linux kernel under Windows, so developers can use Linux toolchains on a Windows laptop without dual-booting. It's how a lot of .NET shops standardized on Docker.

Reality Check

Where Linux Struggles

  • Desktop fragmentation. GNOME vs KDE vs Xfce vs… every distro picks differently. Hardware drivers (Wi-Fi, GPUs, printers) are hit-or-miss.
  • Audio and creative tooling. Pro audio, Adobe, and most AAA games still target Windows/macOS first.
  • Configuration sprawl. Three valid ways to do networking (NetworkManager, systemd-networkd, ifupdown) — none of them wrong, all of them present somewhere.
  • Steep first hour. The shell rewards investment, but a beginner staring at vim with no GUI will not feel that yet.
Continue

More Operating Systems