Aller au contenu principal

Chapitre 2.1 - Vue d'Ensemble de l'Architecture

Objectifs d'Apprentissage​

À la fin de ce chapitre, vous serez capable de:

  • Comprendre la séparation entre Espace Utilisateur et Espace Kernel
  • Identifier les responsabilités de chaque composant système
  • Visualiser les flux de communication
  • Comprendre les concepts de processus et de mémoire

Architecture en Couches​

Linux suit une architecture en couches bien définie:


Espace Utilisateur vs Espace Kernel​

Espace Utilisateur (User Space)​

Rôle: Exécuter les applications et programmes utilisateur

Caractéristiques:

  • Contient toutes les applications que vous utilisez
  • Accès limité au matériel (via appels système)
  • Isolation entre processus
  • Gestion des permissions utilisateur

Composants:

  • Applications utilisateur (navigateur, éditeur, etc.)
  • Shell et ligne de commande
  • Bibliothèques système (libc, etc.)
  • Services et démons

Espace Kernel (Kernel Space)​

Rôle: Gérer les ressources système et le matériel

Caractéristiques:

  • Accès direct au matériel
  • Gestion des processus et mémoire
  • Système de fichiers
  • Réseau et périphériques
  • Protection et sécurité

Composants:

  • Kernel Linux (noyau)
  • Pilotes matériel (drivers)
  • Gestion mémoire
  • Système de fichiers virtuel (VFS)

Flux de Communication​

1. Utilisateur → Shell → Application​

2. Processus → Kernel → Matériel​

3. systemd → Services → Kernel​


Architecture du Kernel​

Le Kernel Linux est organisé en plusieurs sous-systèmes:

Sous-systèmes principaux:

  1. Gestion des Processus

    • Planification (scheduler)
    • Création et terminaison
    • Communication inter-processus
  2. Gestion Mémoire

    • Allocation dynamique
    • Mémoire virtuelle
    • Swap
  3. Système de Fichiers

    • VFS (Virtual File System)
    • Support multiples FS
    • Cache et buffers
  4. Gestion Réseau

    • Stack TCP/IP
    • Interfaces réseau
    • Pare-feu
  5. Gestion Périphériques

    • Pilotes (drivers)
    • Plug and play
    • Gestion d'énergie

Processus Init et systemd​

Le processus init (PID 1) est le premier processus lancé au démarrage:

Rôles de systemd:

  • Premier processus (PID 1)
  • Parent de tous les processus
  • Gestion des services
  • Monitoring des processus
  • Gestion des niveaux d'exécution

Résumé​

Dans ce chapitre, vous avez appris:

Architecture en couches: Application → Système → Matériel
Espace Utilisateur: Applications et programmes utilisateur
Espace Kernel: Gestion système et matériel
Communication: Flux via appels système (syscalls)
Kernel: Organisé en sous-systèmes spécialisés
systemd: Premier processus, gestion des services


Prochaines Étapes​

Maintenant que vous comprenez l'architecture globale:

Chapitre 2.2: Kernel Linux - Le Cœur du Système
Chapitre 2.3: Gestion Mémoire et Swap


Chapitre créé le: Décembre 2024