Introduction to Linux - Wyatt's Notes
What is Linux
Section titled “What is Linux”Linux is a Unix-like operating system kernel first released by Linus Torvalds in 1991. When People say “Linux” in practice, they almost always mean a Linux distribution — the kernel Bundled with GNU userland, init systems, package managers, and thousands of user-space utilities. The kernel itself is just one component; the rest of the system is what makes it usable.
The Linux kernel is licensed under GPLv2, which guarantees the right to use, study, modify, and Redistribute the source code. This licensing model is the primary reason Linux dominates every Sector from embedded devices and smartphones (Android) to supercomputers and cloud infrastructure.
graph TD A[User Space] --> B[GNU C Library - glibc] A --> C[System Utilities - coreutils] A --> D[Shells - bash/zsh] A --> E[Application Layer] B --> F[System Call Interface] C --> F D --> F E --> F F --> G[Linux Kernel] G --> H[Process Scheduler] G --> I[Memory Manager] G --> J[VFS Layer] G --> K[Network Stack] G --> L[Device Drivers] H --> M[Hardware] I --> M J --> M K --> M L --> MKernel Architecture
Section titled “Kernel Architecture”The Linux kernel is a monolithic kernel with loadable modules. Unlike microkernels (Mach, MINIX) Which move most services into user space, Linux runs device drivers, file system implementations, And network protocols in kernel mode. This design trades fault isolation for performance — a buggy Driver can crash the kernel, but system call overhead is minimal because there is no user-kernel Context switch for kernel-internal operations.
Key subsystems:
| Subsystem | Responsibility |
|---|---|
| Process Scheduler | CFS (Completely Fair Scheduler), real-time scheduling |
| Memory Management | Virtual memory, page tables, SLUB/SLAB allocators, OOM |
| VFS | Virtual File System — abstracts file system operations |
| Network Stack | TCP/IP, netfilter, routing, socket layer |
| Device Model | sysfs``udevDriver model, kobject hierarchy |
| IPC | Pipes, shared memory, signals, epoll``eventfd |
| Security | SELinux, AppArmor, capabilities, seccomp, audit |
Distribution Families
Section titled “Distribution Families”Linux distributions differ primarily in package management, release model, and default configuration Choices. The kernel is largely the same across all of them (with distribution-specific patches).
graph LR A[Debian] --> B[Ubuntu] A --> C[Mint] A --> D[Proxmox] E[Red Hat] --> F[RHEL] E --> G[Fedora] E --> H[CentOS Stream] E --> I[AlmaLinux] E --> J[Rocky Linux] K[Arch] --> L[Manjaro] K --> M[EndeavourOS] N[SUSE] --> O[openSUSE Leap] N --> P[openSUSE Tumbleweed] Q[Alpine] --> R[Lightweight Containers] S[Gentoo] --> T[Source-based]| Family | Package Format | Package Manager | Init System | Typical Use Case |
|---|---|---|---|---|
| Debian | .deb | APT | systemd | Servers, desktops, containers |
| Red Hat | .rpm | DNF | systemd | Enterprise servers |
| Arch | .pkg.tar.zst | pacman | systemd | Power users, rolling release |
| Alpine | .apk | apk | OpenRC | Docker containers |
| SUSE | .rpm | zypper | systemd | Enterprise, SAP workloads |
Why This Matters for Systems Engineers
Section titled “Why This Matters for Systems Engineers”Linux is the dominant operating system in every infrastructure domain you will encounter:
- Cloud infrastructure: AWS, GCP, and Azure run on custom Linux kernels (Xen, KVM, Firecracker).
- Container orchestration: Docker, containerd, and Kubernetes are Linux-native technologies built on cgroups, namespaces, and overlayfs.
- Networking: Linux routing, netfilter, and BPF power the majority of the world”s routers and firewalls.
- Embedded and IoT: Android, OpenWrt, Yocto — all Linux underneath.
- High-performance computing: 100% of the TOP500 supercomputers run Linux.
Understanding Linux at the systems level — how processes are scheduled, how memory is managed, how The network stack processes packets, how file systems journal writes — is not academic. It is the Difference between “restarting the service fixed it” and understanding why it failed and Preventing recurrence.
Scope of This Section
Section titled “Scope of This Section”This section covers the core Linux competencies expected of a systems engineer:
- CLI Fundamentals. Shell basics and core utilities (shell-basics, core-utilities)
- File Systems. VFS, ext4, XFS, Btrfs, mounting (filesystems-and-mounting)
- Process Management. Process model, signals, cgroups, resource limits (processes-and-signals)
- Networking. Netfilter, namespaces, routing, troubleshooting (linux-networking)
- Systemd. Service management, timers, socket activation, hardening (systemd)
- Security. PAM, SELinux, capabilities, seccomp, audit (linux-security)
- Package Management. APT, DNF, Nix, dependency resolution (package-management)
Editing files). The focus is on depth — understanding how things work, not just what commands to Run.
Intuition
Section titled “Intuition”Linux is the foundation of modern infrastructure: From smartphones (Android) to supercomputers to cloud servers, Linux runs the majority of the world’s computing infrastructure. Understanding Linux is essential for system administration, DevOps, and cloud computing.
Why it matters: Linux skills are among the most sought-after in IT. The command line, file system hierarchy, and process management concepts transfer across all Unix-like systems.
The key insight: Linux follows the Unix philosophy — small, focused tools that do one thing well, combined via pipes to build complex workflows.
Summary
Section titled “Summary”The key principles covered in this topic are linked in the sub-pages above. Focus on understanding the definitions, applying the formulas or frameworks, and evaluating strengths and limitations of each approach.
Worked Examples
Section titled “Worked Examples”Worked examples demonstrating the application of key concepts are covered in the detailed sub-pages linked above.