This chapter matters not just because Linux is popular, but because it has become the de facto execution layer for servers, containers, and much of modern infrastructure.
In practice, it keeps Linux process behavior, filesystem semantics, and the networking stack in view as part of service architecture rather than an external ops detail.
In interviews and design reviews, that is especially useful when you need to show that you understand not only the code, but how it behaves on a real Linux host.
Practical value of this chapter
Platform baseline
Frames Linux as the default execution layer for backend and cloud-native systems.
Ops predictability
Keeps filesystem, networking stack, and process model visible in architecture choices.
Incident diagnostics
Connects application architecture to observable system-level production symptoms.
Interview practicality
Improves answers by covering real service behavior on Linux hosts, not only code logic.
Source
Linux
Description of Linux, its architecture, prevalence and application scenarios.
Linux is one of the most popular operating systems for deploying services. It underpins most server, cloud and container platforms due to its stability, flexibility and mature ecosystem.
Basic Linux architecture
Hardware layer
CPU, memory, disks, network and device controllers.
Linux kernel
Monolithic kernel with modularity: process, memory, I/O and network management.
System libraries
Standard APIs and runtimes through which applications communicate with the kernel.
User space
Services, utilities, daemons, containers and custom applications.
User mode
User space
Applications and shells
- Shells (bash)
- Browsers and office applications
- Multimedia and tools
System components
- init (systemd/OpenRC)
- System daemons (sshd/udevd)
Windows and graphics
- X11/Wayland/SurfaceFlinger
- Mesa and graphics drivers
Libraries and runtimes
- glibc/musl/bionic
- GTK/Qt/SDL and other UI libraries
Kernel mode
Kernel space
System Call Interface
- System calls (open/read/write)
- POSIX-compatible APIs
Kernel subsystems
- Process scheduling
- Memory and virtual addresses
- IPC, VFS, networking
Drivers and modules
- Device drivers
- Loadable kernel modules
Security modules
- SELinux
- AppArmor
- TOMOYO
Hardware
Hardware
How a network request goes (example with curl)
The request passes through the user space → kernel mode boundary, enters the network stack and returns back.
How a request flows through Linux
Example: curl -> kernel -> network -> kernel -> curl
User space
Kernel mode
Network driver
Hardware / Network
Active step
Click "Start" to walk through the flow.
Opportunities and strengths
- Multitasking and multi-user mode.
- Industrial-grade network stack and broad protocol support.
- Flexible access rights model and kernel-level security.
- Support for containers and isolation (namespaces, cgroups).
- Scalability: from embedded devices to data centers.
Why Linux became so popular
Open source and huge community ecosystem.
Stability and predictable behavior in production.
Flexibility of customization for any scenario: clouds, bare metal, edge.
Good performance and efficient use of resources.
Support from cloud providers and DevOps tools.
Why is it important to know Linux in system design?
- Most server workloads are deployed on Linux - it is important to understand the behavior of processes and resources.
- Linux defines network and I/O restrictions that affect the latency and throughput of services.
- Containerization and orchestration (Docker, Kubernetes) are tied to Linux mechanisms.
- Knowledge of Linux helps diagnose incidents and optimize the infrastructure.
Related chapters
- Why foundational knowledge matters - gives context for how OS and hardware limits shape architecture decisions.
- Operating system: overview - covers user space, kernel space, and the kernel's role in application runtime.
- Modern Operating Systems (short summary) - deepens scheduling, memory, file-system internals, and isolation mechanisms.
- Virtualization and virtual machines - shows how Linux is used in hypervisor-based and VM-centric infrastructure.
- Containerization - connects namespaces and cgroups with modern container deployment practices.
- RAM and persistent storage - adds memory hierarchy, page cache behavior, and storage bottleneck context.
- Android: mobile OS - shows how the Linux kernel is reused in a mobile platform architecture.
- Linux and UNIX or who gave birth to ALL modern systems! - adds historical context for Linux origins and Unix design lineage.
