|  
    
Le multitâche basé sur les processus est une méthode permettant d'exécuter plusieurs tâches (processus) simultanément en attribuant à chaque tâche son propre espace mémoire indépendant. Cela signifie que chaque processus dispose de son propre ensemble de ressources, notamment les siennes :
  
 * Espace mémoire : Il n’y a pas deux processus qui partagent les mêmes adresses mémoire. Si un processus plante, cela n’affecte pas directement les autres car ils sont isolés.  
 * Registres : Chaque processus possède son propre ensemble de registres CPU.  
 * Identifiants de fichiers : Chaque processus gère ses propres fichiers et n'interfère pas directement avec l'accès aux fichiers des autres processus.  
  
 Le planificateur du système d'exploitation bascule ensuite rapidement entre ces processus, en attribuant à chacun une tranche de temps CPU (time-slicing). Cela crée l'illusion de plusieurs programmes exécutés simultanément, même sur un processeur monocœur. Bien que cela semble parallèle, il s’agit en réalité d’une exécution séquentielle rapide.  
  
 Avantages du multitâche basé sur les processus :  
  
 * Robustesse : L'isolement des processus améliore la stabilité du système. Un crash dans un processus n’affectera généralement pas les autres.  
 * Sécurité : L'isolation des processus permet d'empêcher les programmes malveillants d'accéder ou de corrompre la mémoire d'autres processus.  
 * Gestion des ressources : Le système d'exploitation peut facilement allouer et gérer des ressources pour chaque processus.  
  
 Inconvénients du multitâche basé sur les processus :  
  
 * Frais généraux : La création et la gestion de processus nécessitent des ressources système importantes (mémoire et temps CPU). Le changement de contexte (basculement entre les processus) introduit également une surcharge.  
 * La communication inter-processus (IPC) peut être complexe : Si les processus doivent partager des données, ils nécessitent des mécanismes tels que des canaux, des sockets ou une mémoire partagée, qui ajoutent de la complexité.  
 * Moins efficace pour certaines tâches : Pour les tâches qui nécessitent une coordination étroite et un partage fréquent de données, le multitâche basé sur des processus peut être moins efficace que le multitâche basé sur des threads.  
  
  
 Contrairement au multitâche basé sur les processus, le multitâche basé sur les threads utilise plusieurs threads au sein d’un seul processus. Les threads partagent le même espace mémoire, ce qui rend la communication plus facile mais potentiellement moins robuste. Les systèmes d'exploitation modernes utilisent souvent une combinaison de processus multitâches basés sur des threads pour atteindre un équilibre entre robustesse et efficacité.
 
 |