Aller au contenu principal

Chapitre 2.2 - Kernel Linux

Objectifs d'Apprentissage​

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

  • Comprendre le rôle du Kernel Linux
  • Expliquer comment le Kernel gère les ressources
  • Comprendre les appels système (syscalls)
  • Identifier les interactions avec le matériel

Qu'est-ce que le Kernel Linux?​

Le Kernel Linux est le cœur du système d'exploitation. Il agit comme une interface entre le matériel et les logiciels, gérant toutes les ressources système.


Rôles du Kernel​

1. Gestion des Processus​

Le Kernel crée, planifie et termine les processus:

  • Création: fork(), clone()
  • Planification: Scheduler (CFS - Completely Fair Scheduler)
  • Terminaison: exit(), kill()
  • Communication: pipes, sockets, signaux

2. Gestion Mémoire​

Le Kernel gère la mémoire physique et virtuelle:

  • Allocation: malloc() → kmalloc()
  • Mémoire virtuelle: Pagination, swap
  • Protection: Séparation des espaces mémoire
  • Cache: Buffer cache, page cache

3. Système de Fichiers​

Le Kernel gère l'accès aux fichiers:

  • VFS: Virtual File System (interface unifiée)
  • Support multiples FS: ext4, xfs, btrfs, etc.
  • Permissions: Vérification des droits d'accès
  • Cache: Amélioration des performances

4. Gestion Réseau​

Le Kernel gère les communications réseau:

  • Stack TCP/IP: Implémentation des protocoles
  • Interfaces réseau: eth0, wlan0, etc.
  • Pare-feu: iptables, netfilter
  • Routage: Tables de routage

5. Gestion Périphériques​

Le Kernel gère les périphériques matériel:

  • Drivers: Pilotes pour chaque périphérique
  • Plug and Play: Détection automatique
  • Gestion d'énergie: ACPI, suspend/resume
  • Interruptions: Gestion des IRQ

Appels Système (Syscalls)​

Les applications communiquent avec le Kernel via les appels système:

Exemples d'appels système:

  • open(): Ouvrir un fichier
  • read(): Lire depuis un fichier
  • write(): Écrire dans un fichier
  • fork(): Créer un processus
  • exec(): Exécuter un programme
  • socket(): Créer une socket réseau

Architecture du Kernel​

Le Kernel est organisé en modules:

Types de modules:

  • Core: Fonctionnalités essentielles (toujours chargés)
  • Modules: Fonctionnalités optionnelles (chargés à la demande)
  • Drivers: Pilotes matériel

Résumé​

Dans ce chapitre, vous avez appris:

Kernel Linux: Cœur du système, interface matériel/logiciel
Rôles: Gestion processus, mémoire, fichiers, réseau, périphériques
Appels système: Interface entre applications et kernel
Architecture: Core + modules + drivers
Modules: Chargement dynamique des fonctionnalités


Prochaines Étapes​

Chapitre 2.3: Gestion Mémoire et Swap
Chapitre 2.4: Système de Fichiers Virtuel (VFS)


Chapitre créé le: Décembre 2024