Linux and its history
Linux runs most of the world's servers, every Android phone, and all of the 500 fastest supercomputers. Knowing where it came from explains how it is organised today.
Unix roots
Unix was created at Bell Labs from 1969 by Ken Thompson and Dennis Ritchie, who also created the C language to rewrite it in 1973, making it portable. Unix introduced lasting ideas: a hierarchical file system, small tools combined with pipes, plain-text configuration, and the principle that a program should do one thing well. Many Unix variants followed, including BSD from the University of California, Berkeley.
GNU and free software
In 1983, Richard Stallman announced the GNU project to build a complete free Unix-like operating system, and in 1985 founded the Free Software Foundation. By the early 1990s GNU had a compiler (GCC), shell (Bash), editors, and core utilities, but its own kernel was not ready. The GNU General Public License (GPL) guaranteed users the freedom to run, study, modify, and share software.
The Linux kernel
In 1991, Linus Torvalds, a Finnish student, announced a hobby kernel for PCs. Licensed under the GPL from 1992, Linux combined with GNU tools to form a complete free operating system. Thousands of developers and hundreds of companies now contribute to the kernel, which Torvalds still oversees, with a new release roughly every nine or ten weeks.
Distributions
A Linux distribution packages the kernel with system software, libraries, a package manager, and default configuration. Debian (1993) and its derivative Ubuntu (2004) use .deb packages and apt; Red Hat Enterprise Linux, Fedora, and community rebuilds such as Rocky Linux and AlmaLinux use .rpm packages and dnf; Arch Linux and Alpine Linux target enthusiasts and containers respectively. Distributions differ in release cycles, support, and defaults.
Where Linux runs
Linux dominates servers and cloud computing, powers Android, runs on embedded devices from routers to cars and televisions, and has run all of the TOP500 supercomputers since November 2017. Containers and orchestration platforms such as Docker and Kubernetes are built on Linux kernel features. Desktop use is smaller but growing, including gaming via compatibility layers.
Kernel and user space
The kernel runs in privileged mode, managing processes, memory, devices, file systems, and networking. Everything else, including shells, utilities, servers, and desktop environments, runs in user space with restricted privileges, asking the kernel for services through system calls. Linux is a monolithic kernel, with most services inside the kernel, but loads drivers dynamically as modules.
The Unix philosophy in practice
Linux tools follow Unix conventions: text streams as a universal interface, small programs combined with pipes, configuration in readable files under /etc, and 'everything is a file', so devices, processes, and kernel settings appear as files. Understanding these conventions makes the whole system predictable, from reading logs to configuring services.
Worked example
Checking what a machine is running: uname -r prints the kernel release, such as 6.8.0; cat /etc/os-release shows the distribution, such as Ubuntu 24.04 LTS; uptime shows how long it has run and its load averages. Together they tell you the kernel version, which distribution's packages and documentation apply, and whether the system was recently rebooted.
Key takeaways
Unix (Bell Labs, 1969; rewritten in C in 1973) established hierarchical files, pipes, and small tools. GNU (1983) and the GPL supplied free tools and licensing; Linus Torvalds released the Linux kernel in 1991, GPL-licensed from 1992. Distributions such as Debian, Ubuntu, RHEL, Fedora, Arch, and Alpine package the kernel with software and package managers. Linux dominates servers, cloud, Android, embedded devices, and all TOP500 supercomputers since 2017. The privileged kernel serves user-space programs via system calls; Linux is monolithic with loadable modules. Unix conventions such as text streams and 'everything is a file' make it predictable.
Flashcard
Operating system from Bell Labs, 1969
Check your understanding
Why is Linux sometimes called GNU/Linux?
