|  
    
Les partitions dynamiques relocalisables sont un système de gestion de mémoire utilisé dans les systèmes d'exploitation. Contrairement aux systèmes à partition fixe où la mémoire est divisée en partitions de taille statique, les partitions dynamiques relocalisables permettent aux partitions d'être de taille variable et d'être déplacées (déplacées) dans la mémoire. Cela offre une plus grande flexibilité et efficacité dans l’utilisation de la mémoire que les partitions fixes. 
  
 Voici un aperçu des principales fonctionnalités : 
  
 * Dimensionnement dynamique : Les partitions sont créées et redimensionnées selon les besoins en fonction de la taille des programmes en cours de chargement. Il n'y a pas de taille de partition prédéfinie.  
  
 * Déménagement : Les partitions peuvent être déplacées dans la mémoire physique. Ceci est crucial car une fragmentation (tant interne qu’externe) peut se produire. En déplaçant les partitions, le système d'exploitation peut consolider l'espace libre et réduire l'impact de la fragmentation.  
  
 * Compactage de la mémoire : Pour remédier à la fragmentation externe (où il y a suffisamment de mémoire libre totale mais qui n'est pas contiguë), le système d'exploitation peut compacter la mémoire. Cela implique de déplacer les partitions existantes vers une extrémité de la mémoire, créant ainsi un seul grand bloc d'espace libre contigu. La relocalisation est essentielle pour le compactage.  
  
 * Utilisation améliorée de la mémoire : Comparé au partitionnement fixe, le partitionnement dynamique déplaçable conduit généralement à une meilleure utilisation de la mémoire car il s'adapte aux différentes tailles de programme et évite le gaspillage d'espace dans des partitions de taille fixe qui pourraient être partiellement utilisées.  
  
 * Gestion plus complexe : La gestion des partitions dynamiques déplaçables est nettement plus complexe que celle des partitions fixes. Le système d'exploitation doit suivre les tailles, les emplacements et l'espace libre des partitions, et implémenter des algorithmes de relocalisation et de compactage. Cela ajoute des frais généraux.  
  
  
 Comment ça marche (en général) :  
  
 Le système d'exploitation maintient une liste libre ou une table de bits qui assure le suivi de l'espace mémoire disponible. Lorsqu'un processus demande de la mémoire, le système d'exploitation recherche un espace libre suffisamment grand. Si un espace approprié est trouvé, il alloue de la mémoire au processus. Si la relocalisation est possible, le système d'exploitation peut déplacer les partitions existantes pour créer un bloc contigu si nécessaire. Lorsqu'un processus se termine, sa mémoire est libérée, la rajoutant à la liste libre.  
  
  
 Comparaison avec d'autres schémas de gestion de mémoire :  
  
 * Partitionnement fixe : Plus simple à gérer, mais souffre d’une fragmentation interne et externe.  
 * Pagination : Divise la mémoire en pages de taille fixe et les processus en pages ; résout la fragmentation externe en autorisant l’allocation de mémoire non contiguë.  
 * Segmentation : Divise la mémoire en segments de taille variable ; résout la fragmentation interne en allouant uniquement la mémoire nécessaire.  
  
  
 Le partitionnement dynamique relocalisable représente une étape vers une gestion de la mémoire plus efficace par rapport au partitionnement fixe, mais il est moins sophistiqué que la pagination ou la segmentation. Il s'agit d'un schéma moins courant dans les systèmes d'exploitation modernes, souvent remplacé par des techniques plus avancées telles que la pagination et la mémoire virtuelle.
 
 |