Processus : Instance d'un programme en cours d'exécution avec son propre espace mémoire.
Lorsqu'un programme est lancé, l'OS crée un nouveau processus avec un PID (ID de processus)
L'ordonnanceur de l'OS décide quel processus s'exécute sur le CPU à un moment donné
L'OS maintient le contexte de chaque processus (registres, pile, compteurs, etc.)
L'OS fournit des mécanismes pour que les processus puissent communiquer entre eux
À la fin, l'OS libère toutes les ressources associées au processus
L'OS gère les processus en les planifiant, en maintenant leur contexte et en contrôlant leurs interactions.
• Planification : L'OS décide de l'ordre d'exécution des processus
• Isolation : Chaque processus est isolé des autres pour la sécurité
• Partage : L'OS permet aux processus de communiquer de manière contrôlée
Gestion mémoire : Allocation et libération de la mémoire RAM pour les processus en cours.
Données (variables globales)
Tas (heap, allocation dynamique)
Pile (stack, variables locales)
Chaque processus voit une mémoire virtuelle continue même si la physique est fragmentée
La mémoire est divisée en pages fixes (généralement 4 Ko) pour une gestion efficace
L'OS maintient une table de correspondance entre adresses virtuelles et physiques
Quand la RAM est pleine, l'OS déplace des pages en mémoire secondaire (swap)
L'OS empêche les processus d'accéder à la mémoire d'autres processus
L'OS gère la mémoire en créant une abstraction virtuelle, en protégeant les processus et en optimisant l'utilisation.
• Virtualisation : Chaque processus a sa propre vue de la mémoire
• Protection : Isolation des espaces mémoires entre processus
• Optimisation : Pagination et swapping pour utiliser efficacement la RAM
Système de fichiers : Organisation logique des données sur le support de stockage.
Le système de fichiers organise les données en répertoires et sous-répertoires
Chaque fichier a un nom unique dans son répertoire et un chemin absolu depuis la racine
L'OS stocke des informations sur les fichiers (taille, dates, permissions, propriétaire)
L'OS gère les accès simultanés aux fichiers par plusieurs processus
L'OS applique des permissions pour contrôler qui peut lire, écrire ou exécuter
L'OS organise, protège et permet l'accès aux données à travers un système de fichiers hiérarchisé.
• Hierarchie : Fichiers organisés en arborescence avec répertoires
• Métadonnées : Informations supplémentaires sur les fichiers
• Sécurité : Contrôle des accès par des permissions
Pilote (driver) : Logiciel spécifique qui permet à l'OS de communiquer avec un périphérique.
L'OS ne communique pas directement avec le matériel mais via les pilotes
Chaque type de périphérique a une interface standard pour les pilotes
L'OS charge les pilotes nécessaires au démarrage ou à la connexion d'un périphérique
Les pilotes traitent les interruptions matérielles pour signaler des événements
Les pilotes peuvent être mis à jour pour corriger des bugs ou ajouter des fonctionnalités
Les pilotes servent d'intermédiaires entre l'OS et le matériel, permettant une communication standardisée.
• Abstraction : L'OS ne connaît pas les détails du matériel
• Standardisation : Interfaces uniformes pour chaque type de périphérique
• Modularité : Pilotes chargés dynamiquement selon les besoins
Interface utilisateur : Moyen par lequel l'utilisateur interagit avec l'ordinateur.
L'utilisateur tape des commandes textuelles pour interagir avec l'OS (ex: bash, cmd)
Utilisation de fenêtres, icônes, menus et pointeur pour interagir avec l'OS (ex: Windows, macOS)
L'OS gère les interactions clavier, souris, écran, imprimante, etc.
L'OS permet d'exécuter plusieurs applications simultanément avec partage des ressources
L'OS offre des options pour personnaliser l'apparence et le comportement
L'OS fournit des interfaces (CLI/GUI) pour faciliter l'interaction entre l'utilisateur et le système.
• Accessibilité : Interface conviviale pour les utilisateurs
• Flexibilité : Différents types d'interfaces disponibles
• Contrôle : Permet à l'utilisateur de contrôler le système
- Gestion des processus : Création, planification, synchronisation, terminaison
- Gestion de la mémoire : Allocation, pagination, protection, swapping
- Gestion des fichiers : Hiérarchie, métadonnées, permissions, accès concurrents
- Gestion des E/S : Pilotes, tampons, interruptions, accès aux périphériques
- Interface utilisateur : CLI, GUI, gestion des interactions
- Un OS efficace maximise l'utilisation des ressources matérielles
- La sécurité est intégrée dans toutes les fonctions de l'OS
- L'OS fournit une interface stable pour les applications
- La compatibilité descendante est souvent maintenue
- Les mises à jour régulières assurent la sécurité et les performances