Introduction to Linux
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)