Aller au contenu principal

Chapitre 1.4 - Architecture de Haut Niveau

Objectifs d'Apprentissage​

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

  • Comprendre la structure d'un système Linux
  • Identifier les composants du Kernel
  • Identifier les composants de l'Espace Utilisateur
  • Comprendre la communication entre les composants

Introduction​

Un système Linux est organisé en plusieurs couches qui travaillent ensemble. Comprendre cette architecture est essentiel pour maîtriser Linux.


Vue d'Ensemble d'un Système​

Structure de Base​

Deux espaces principaux:

  1. Espace Utilisateur: Applications et programmes utilisateur
  2. Espace Kernel: Gestion système et matériel

Espace Utilisateur (User Space)​

Applications​

Programmes que vous utilisez:

  • Navigateurs web
  • Éditeurs de texte
  • Outils de développement
  • Jeux, etc.

Shell​

Interface ligne de commande:

  • Bash: Shell par défaut sur la plupart des distributions
  • Zsh: Shell moderne et puissant
  • Fish: Shell convivial

Bibliothèques​

Fonctions partagées:

  • libc: Bibliothèque C standard
  • Autres: Bibliothèques spécialisées

Services​

Programmes en arrière-plan:

  • systemd: Gestionnaire de services
  • cron: Planification de tâches
  • sshd: Serveur SSH

Espace Kernel (Kernel Space)​

Kernel Linux​

Le cœur du système:

  • Gestion Processus: Création, planification, terminaison
  • Gestion Mémoire: Allocation, swap, protection
  • Système Fichiers: VFS, gestion des fichiers
  • Gestion Réseau: Stack TCP/IP, interfaces
  • Gestion Périphériques: Pilotes matériel

Appels Système (Syscalls)​

Interface entre User Space et Kernel Space:

  • open(), read(), write(): Fichiers
  • fork(), exec(): Processus
  • socket(), bind(): Réseau
  • mmap(): Mémoire

Communication Entre Couches​

Flux Typique​


Composants Matériel​

CPU​

  • Exécution des instructions
  • Gestion des processus
  • Planification (scheduler)

Mémoire RAM​

  • Stockage temporaire
  • Données et code en cours d'exécution
  • Cache système

Disque Dur​

  • Stockage persistant
  • Système de fichiers
  • Swap (extension RAM)

Réseau​

  • Interfaces réseau
  • Communication avec autres systèmes
  • Protocoles réseau

Séparation User/Kernel Space​

Pourquoi cette Séparation?​

Sécurité:

  • Applications ne peuvent pas accéder directement au matériel
  • Protection contre les erreurs
  • Isolation des processus

Stabilité:

  • Erreur dans une application n'affecte pas le kernel
  • Système reste stable même si une app plante

Performance:

  • Kernel optimisé pour le matériel
  • Applications peuvent être moins optimisées

Résumé​

Dans ce chapitre, vous avez appris:

Architecture: User Space + Kernel Space + Matériel
User Space: Applications, Shell, Bibliothèques, Services
Kernel Space: Kernel Linux, Appels Système, Gestion ressources
Communication: Via appels système (syscalls)
Séparation: Sécurité, stabilité, performance
Matériel: CPU, RAM, Disque, Réseau


Prochaines Étapes​

Chapitre 1.5: Concepts Fondamentaux
Chapitre 1.6: Installation et Première Utilisation


Chapitre créé le: Décembre 2024