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:
-
Gestion des Processus
- Planification (scheduler)
- Création et terminaison
- Communication inter-processus
-
Gestion Mémoire
- Allocation dynamique
- Mémoire virtuelle
- Swap
-
Système de Fichiers
- VFS (Virtual File System)
- Support multiples FS
- Cache et buffers
-
Gestion Réseau
- Stack TCP/IP
- Interfaces réseau
- Pare-feu
-
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