Skip to main content

MODULE 2 - Linux System Architecture

Overview​

This module delves into the internal architecture of Linux. You will discover how the Kernel, system processes, memory management, file system, and how all these components work together to operate your system.

Learning Objectives​

By the end of this module, you will be able to:

  • Understand the role and functioning of the Linux Kernel
  • Identify system components (init, systemd) and their responsibilities
  • Visualize communication flows between components
  • Inspect and monitor system processes and resources
  • Understand the boot process

Estimated Duration​

Theory: 4-5 hours
Practice: 3-4 hours
Total: 7-9 hours


Table of Contents​

Part 1: Kernel and Basic Architecture​

  1. Chapter 2.1 - Architecture Overview
  2. Chapter 2.2 - Linux Kernel
  3. Chapter 2.3 - Memory Management and Swap
  4. Chapter 2.4 - Virtual File System (VFS)
  5. Chapter 2.5 - Process Management

Part 2: System Processes and Init​

  1. Chapter 2.6 - Init and systemd Processes
  2. Chapter 2.7 - Services and Daemons
  3. Chapter 2.8 - Runlevels

Part 3: Communication and Boot​

  1. Chapter 2.9 - Boot Process
  2. Chapter 2.10 - Inter-Process Communication

Practical Labs​

Validation​


Linux Architecture: Overview​

A Linux system is composed of several layers that work together:

Linux Kernel​

The Kernel is the core of the system. It manages all interactions between hardware and software.

Main Functions:

  • Process Management: Creation, scheduling, termination
  • Memory Management: Allocation, swap, protection
  • File System: File and directory management
  • Network Management: Network protocols, interfaces
  • Device Management: Hardware drivers

User Space​

The user space contains the applications and programs you use.

Components:

  • Applications: User programs (browser, editor, etc.)
  • Shell: Command line interface (Bash, Zsh)
  • Libraries: Shared functions (libc, etc.)
  • Services: System daemon (systemd, cron, etc.)

Init and systemd Processes​

The init process (or systemd) is the first process launched at startup.

Roles:

  • PID 1: First process, parent of all others
  • Service Management: Starting and stopping services
  • Level Management: Control of runlevels/targets
  • Monitoring: Monitoring child processes

Why Understand the Architecture?​

Understanding the internal architecture allows you to:

  • Debug effectively: Know where to look when something goes wrong
  • Optimize performance: Understand potential bottlenecks
  • Plan capacity: Know which components require more resources
  • Secure the system: Understand entry points and communications
  • Troubleshoot: Quickly identify the source of problems

Next Steps​

Now that you have an overview, dive into the details:

Chapter 2.1: Architecture Overview
Chapter 2.2: Linux Kernel - The Heart of the System


Module created on: December 2024