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 fichierread(): Lire depuis un fichierwrite(): Écrire dans un fichierfork(): Créer un processusexec(): Exécuter un programmesocket(): 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