|  
    
La répartition des processus est la partie du planificateur de tâches d'un système d'exploitation qui sélectionne un processus dans la file d'attente prête à être exécuté par le processeur. C'est le mécanisme qui détermine quel processus doit être exécuté ensuite et à quel moment. Cette décision est cruciale pour les performances et la réactivité du système. 
  
 Le rôle du répartiteur est de : 
  
 * Sélectionnez un processus : Du pool de processus prêts à être exécutés.  
 * Changement de contexte : Enregistrez l'état du processus en cours d'exécution (registres, pointeurs mémoire, etc.) et chargez l'état du processus sélectionné. Cela permet au processeur de basculer de manière transparente entre les processus.  
 * Démarrer l'exécution : Commencer l'exécution du processus sélectionné.  
  
 L'algorithme utilisé pour sélectionner le processus suivant (l'algorithme de répartition) a un impact significatif sur les performances globales du système. Différents algorithmes priorisent différents aspects, tels que : 
  
 * Délai d'exécution : Le temps total qu'un processus passe dans le système (de la soumission à l'achèvement).  
 * Temps d'attente : Le temps qu'un processus passe à attendre dans la file d'attente prête.  
 * Temps de réponse : Le temps nécessaire à un processus pour commencer à répondre aux entrées de l'utilisateur.  
 * Débit : Le nombre de processus terminés par unité de temps.  
  
 Les algorithmes de répartition courants incluent : 
  
 * Premier arrivé, premier servi (FCFS) : Les processus sont exécutés dans l'ordre dans lequel ils arrivent. Simple mais peut entraîner de longs délais d'attente.  
 * Le travail le plus court en premier (SJF) : Le processus avec le temps d'exécution estimé le plus court est ensuite exécuté. Minimise le temps d’attente moyen mais nécessite de connaître le temps d’exécution à l’avance.  
 * Planification prioritaire : Les processus se voient attribuer des priorités et le processus ayant la priorité la plus élevée est exécuté ensuite. Peut conduire à une privation de processus peu prioritaires.  
 * Tournoi à la ronde : Chaque processus dispose d'une petite tranche de temps (quantique) à exécuter avant d'être préempté et déplacé vers l'arrière de la file d'attente prête. Fournit l’équité mais la taille quantique affecte les performances.  
 * Planification de files d'attente à plusieurs niveaux : Les processus sont divisés en files d'attente en fonction des propriétés (par exemple, interactif ou par lots). Chaque file d'attente possède son propre algorithme de planification.  
 * Planification de la file d'attente de commentaires à plusieurs niveaux : Semblable à la file d'attente multiniveau, mais permet aux processus de se déplacer entre les files d'attente en fonction de leur comportement (par exemple, un processus qui utilise sa tranche de temps peut être déplacé vers une file d'attente de priorité inférieure).  
  
  
 Essentiellement, la répartition des processus constitue le lien essentiel entre les processus prêts et le processeur, garantissant que le processeur est utilisé de manière efficace et équitable. Le choix de l'algorithme influence directement la réactivité et l'efficacité globales du système d'exploitation.
 
 |