L’échange de mémoire est une technologie courante qui contribue à améliorer les performances du système d’exploitation. Grâce à ce processus, le système peut basculer efficacement entre la mémoire physique et la mémoire virtuelle selon les besoins.
Comme la mémoire physique (RAM) est principalement utilisée pour les processus opérationnels, elle ne suffit pas toujours à gérer toute la charge. Il arrive qu’elle soit saturée et qu’elle nécessite donc de la mémoire supplémentaire pour exécuter des applications et des processus.
L’échange de mémoire peut être utile, car cette technique crée un espace d’adressage virtuel plus vaste en combinant la mémoire physique et l’espace du disque dur. Les contenus inutilisés de la mémoire sont transférés vers l’espace disque, d’où ils peuvent être restaurés ultérieurement. La mémoire physique est ainsi libérée et peut exécuter d’autres opérations.
Examinons en détail la technique d’échange de mémoire, la manière dont elle contribue à améliorer les performances, ses avantages, ses limites et d’autres aspects essentiels.
En savoir plus sur la RAM.
- Comment fonctionne l’échange de mémoire et améliore les performances
- Qu’est-ce que l’espace ou le fichier d’échange ?
- Avantages de l’échange de mémoire
- Limites de l’échange de mémoire
- Comment l’échange de mémoire améliore-t-il les performances ?
- Exemples d’échange de mémoire
- Quelle est la différence entre l’échange et la pagination ?
- Comparaison directe entre pagination et échange
- En résumé : qu’est-ce que l’échange de mémoire ?
Comment fonctionne l’échange de mémoire et améliore les performances
L’échange de mémoire désigne le transfert de mémoire. L’objectif principal de ce processus est d’améliorer l’utilisation de la mémoire principale.
Dans un système d’exploitation, les processus s’exécutent selon un ordonnancement préemptif fondé sur les priorités. Lorsqu’une tâche plus prioritaire doit être exécutée, de l’espace doit être disponible dans la mémoire principale. Le système utilise donc la mémoire virtuelle et l’espace de stockage comme ressources supplémentaires. Cela permet une exécution plus rapide des processus et une analyse efficace des données.
L’espace disque de stockage joue le rôle d’équivalent fonctionnel de l’espace d’exécution de la mémoire. Cet espace du périphérique de stockage est appelé « espace d’échange ». Les processus retirés de la RAM physique sont exécutés dans cet espace d’échange.
Par défaut, le système d’exploitation ou l’hyperviseur d’une machine virtuelle gère le processus d’échange de mémoire. L’utilisateur peut toutefois désactiver cette fonctionnalité si nécessaire.
Lorsque la RAM physique est entièrement utilisée — et que des processus et applications supplémentaires ont besoin d’espace pour s’exécuter — le processus d’échange de mémoire est déclenché. Le système d’exploitation le gère automatiquement et crée une capacité de mémoire virtuelle (RAM non physique) en mappant l’espace de mémoire physique sur l’espace d’échange.
L’objectif principal de tout ce processus est de rendre disponible davantage de mémoire que l’ordinateur n’en possède réellement sur le plan matériel. Les utilisateurs peuvent étendre la mémoire à l’espace disque de stockage. Il en résulte un système de gestion de la mémoire efficace, tout en garantissant la stabilité.
Qu’est-ce que l’espace ou le fichier d’échange ?
La mémoire physique d’un ordinateur est suffisante, mais nous avons la plupart du temps besoin de davantage d’espace. Nous transférons donc une partie de la mémoire sur le disque. L’espace d’échange d’un disque dur sert de remplacement à la mémoire physique. Il contient des images de la mémoire des processus et sert de mémoire virtuelle.
Lorsque la mémoire physique de l’ordinateur est épuisée, celui-ci utilise la mémoire virtuelle pour stocker des données sur un disque. Le système d’exploitation de l’ordinateur utilise l’espace d’échange pour donner l’impression que l’appareil dispose de plus de mémoire qu’il n’en possède réellement.
L’échange est le processus de transfert de données entre la mémoire virtuelle et la mémoire physique, et l’« espace d’échange » désigne l’espace disque utilisé à cette fin. Les processus en cours d’exécution peuvent utiliser la mémoire virtuelle, qui combine RAM et espace disque. Lorsque la RAM est pleine, l’espace d’échange — une partie de la mémoire virtuelle stockée sur le disque dur — est utilisé.
Lorsque la mémoire du système est faible, un fichier système appelé fichier d’échange crée un espace de stockage temporaire sur un SSD ou un disque dur. Ce fichier libère de la mémoire pour les autres programmes en cours d’exécution en transférant une partie de la RAM occupée par les applications inactives.
Les utilisateurs peuvent ajuster la quantité d’espace d’échange fournie par défaut par des systèmes d’exploitation comme Windows, Linux et d’autres, selon leurs besoins. La mémoire virtuelle peut être entièrement désactivée si l’utilisateur ne souhaite pas l’utiliser.
Mais s’ils le font et viennent à manquer de mémoire, le noyau arrêtera certains processus en cours d’exécution afin de libérer suffisamment de mémoire physique. Le choix d’utiliser ou non l’espace d’échange revient entièrement à l’utilisateur.
En savoir plus : Mémoire et stockage : quelles différences ?
Avantages de l’échange de mémoire
L’échange de mémoire présente plusieurs avantages : il optimise le système, améliore ses capacités multitâches et permet de hiérarchiser les processus pour assurer un fonctionnement continu. Voici quelques-uns de ses avantages :
- Utilisation maximale de la mémoire : L’échange libère de la mémoire et permet à davantage d’applications de fonctionner sans interruption. Les fichiers d’échange garantissent à chaque programme une mémoire dédiée, ce qui améliore les performances globales.
- Fonctionnement continu : L’ordonnancement des processus fondé sur les priorités peut utiliser la méthode d’échange, qui consiste à remplacer une activité peu prioritaire par un processus hautement prioritaire afin de limiter les interruptions.
- Optimisation du système : Grâce à l’échange, le processeur peut effectuer de nombreuses tâches simultanément, ce qui réduit le temps d’attente des programmes avant leur exécution. Le processeur peut ainsi gérer plus facilement de nombreux processus dans une seule mémoire principale.
- Multitâche amélioré : L’échange de mémoire contribue également à accroître le niveau de multiprogrammation en permettant à davantage de programmes de s’exécuter simultanément et d’utiliser efficacement la RAM.
Limites de l’échange de mémoire
L’échange de mémoire présente également certains inconvénients, notamment des ralentissements, des limites de capacité et des pertes d’informations. Voici quelques-uns de ses inconvénients potentiels :
- Performances : Lorsqu’il est déclenché par l’échange de mémoire, l’espace de stockage sur disque ne peut pas offrir les mêmes performances que la RAM réellement utilisée pour l’exécution des processus.
- Limites du disque : La fiabilité et l’accessibilité des supports de stockage facilitent l’utilisation des fichiers d’échange, mais ceux-ci peuvent être moins fiables que la mémoire système.
- Capacité : La quantité de mémoire pouvant être échangée est limitée par l’espace d’échange alloué par le système d’exploitation ou l’hyperviseur.
- Perte d’informations : Si le système informatique tombe en panne de courant pendant un échange intensif, l’utilisateur peut perdre toutes les informations liées aux programmes.
- Augmentation des défauts de page : Si la technique d’échange est inadéquate, la méthode composite peut entraîner davantage de défauts de page et réduire la vitesse de traitement.
Comment l’échange de mémoire améliore-t-il les performances ?
L’objectif principal de l’échange dans la gestion de la mémoire est de rendre accessible davantage de mémoire que ne le permet le matériel informatique. Il est possible que de la mémoire physique soit allouée alors qu’un processus a encore besoin de mémoire supplémentaire.
L’échange de mémoire permet au système d’exploitation et à ses utilisateurs d’étendre la mémoire au disque, plutôt que de limiter le système à une mémoire reposant uniquement sur la RAM physique.
Le système d’exploitation ou l’hyperviseur supervise le processus d’échange de mémoire. L’échange est souvent activé par défaut, mais les utilisateurs peuvent choisir de le désactiver. Le système d’exploitation contrôle automatiquement la procédure d’échange proprement dite et la création du fichier d’échange.
Il démarre lorsque cela est nécessaire, car les processus et les applications consomment la RAM physique et ont besoin de davantage d’espace. L’état des pages de mémoire physique est converti en espace d’échange à mesure que de la RAM supplémentaire est nécessaire, ce qui met en place une capacité de mémoire virtuelle (par opposition à la RAM physique).
Exemples d’échange de mémoire
L’échange est le transfert de processus. En outre, l’ordonnancement préemptif fondé sur les priorités est utilisé lors de l’échange de processus. Cela signifie que lorsqu’un processus de priorité supérieure entre dans le système, la gestion de la mémoire transfère temporairement le processus de priorité la plus faible sur le disque et exécute le processus de priorité la plus élevée dans la mémoire principale.
Le processus de priorité inférieure est retransféré en mémoire et reprend son exécution une fois le processus de priorité la plus élevée terminé. Cette technique est appelée chargement-déchargement (« roll in/roll out »).
Si la liaison d’adresses a lieu au moment du chargement, les processus sortis de la mémoire principale occupent le même espace d’adressage lorsqu’ils y sont rechargés. Si la liaison avait lieu lors de l’exécution, l’adresse serait déterminée en temps réel, ce qui permettrait au processus d’utiliser n’importe quel espace d’adressage de la mémoire principale.
Plusieurs trous sont créés dans la mémoire lorsque le processus est chargé et déchargé. Pour gérer ces trous, un vaste espace mémoire est créé en les regroupant. Pour cela, chaque procédure est déplacée aussi bas que possible. Ce processus, appelé compactage, est rarement appliqué, car il consomme davantage de temps processeur.
Par exemple, s’il existe un espace libre de 40+20+20 Ko, cet espace est disponible, mais il n’est pas contigu. L’échange créera donc un espace de 80 Ko par compactage.
Quelle est la différence entre l’échange et la pagination ?
L’échange est le processus qui consiste à déplacer temporairement un processus de la mémoire principale vers la mémoire secondaire, qui est plus rapide que la mémoire secondaire. Toutefois, comme la RAM a une capacité limitée, les processus inactifs sont déplacés vers la mémoire secondaire.
La pagination, en revanche, est un processus d’allocation de mémoire dans lequel plusieurs blocs de mémoire non contigus reçoivent des affectations de taille fixe. Cette taille est généralement de 4 Ko. La pagination s’effectue toujours entre les pages actuellement actives.
Voici quelques différences essentielles entre la pagination et l’échange dans le système d’exploitation :
- La technique de gestion de la mémoire appelée pagination permet aux systèmes de stocker et de récupérer des données depuis le stockage secondaire afin de les utiliser dans la mémoire principale. L’échange, en revanche, déplace momentanément un processus de la mémoire primaire vers la mémoire secondaire.
- La pagination transfère des pages, ce qui la rend plus adaptable que l’échange. L’échange, en revanche, offre moins de flexibilité.
- Lors d’un échange, de nombreuses tâches s’exécutent dans la mémoire principale. En pagination, en revanche, certains processus s’exécutent dans la mémoire principale.
- Les processus qui sont échangés entre la mémoire primaire et la mémoire secondaire relèvent de l’échange. En revanche, lors de la pagination, les pages sont des blocs de mémoire de taille identique qui se déplacent entre la mémoire principale et la mémoire secondaire.
- L’échange accélère l’accès du processeur aux processus. La mémoire virtuelle peut, quant à elle, être utilisée avec la pagination.
- L’échange est idéal pour les charges de travail lourdes. La pagination, en revanche, convient aux charges légères à moyennes.
- La multiprogrammation est possible grâce à l’échange. Avec la pagination, l’espace d’adressage physique d’un processus peut être non contigu, ce qui évite la fragmentation externe.
Comparaison directe entre pagination et échange
La pagination et l’échange ont été comparés côte à côte dans plusieurs situations. Voici quelques différences entre les deux :
| Caractéristiques | Pagination | Échange |
|---|---|---|
| Définition | Il s’agit d’une technique de gestion de la mémoire qui permet aux ordinateurs de stocker et de récupérer des données depuis le stockage secondaire afin de les utiliser dans la RAM. | Un processus est momentanément déplacé de la mémoire primaire vers la mémoire secondaire. |
| Principes de base | Grâce à la pagination, l’espace d’adressage mémoire d’un processus peut être non contigu. | L’échange permet au système d’exploitation d’exécuter efficacement plusieurs programmes simultanément. |
| Flexibilité | Comme seules les pages d’un processus sont déplacées, la pagination est plus flexible. | Comme l’échange fait passer l’ensemble du processus de la RAM au stockage secondaire et inversement, il est moins adaptable. |
| Fonctionnalité principale | Les pages sont des blocs de mémoire de taille identique transférés entre la mémoire primaire et la mémoire secondaire lors de la pagination. | Les processus échangés font des allers-retours entre la mémoire primaire et la mémoire secondaire. |
| Multiprogrammation | La pagination permet à davantage de processus de s’exécuter dans la mémoire principale. | L’échange permet d’exécuter moins d’applications dans la mémoire principale que la pagination. |
| Charges de travail | L’échange convient aux charges de travail lourdes. | La pagination convient aux charges de travail légères à modérées. |
| Utilisation | La mémoire virtuelle peut être utilisée avec la pagination. | Grâce à l’échange, le processeur peut accéder plus rapidement aux processus. |
| Processus | Lors d’un échange, de nombreux processus s’exécutent dans la mémoire principale. | Avec la pagination, certains programmes s’exécutent dans la mémoire principale. |
En résumé : qu’est-ce que l’échange de mémoire ?
La fonctionnalité d’échange du système d’exploitation garantit une utilisation correcte de la mémoire en déplaçant temporairement les processus arrêtés ou inactifs de la mémoire principale vers la mémoire secondaire. L’un des principaux avantages de cette technique est sa capacité à utiliser efficacement la RAM et à garantir la disponibilité de la mémoire pour tous les processus.
L’un des principaux inconvénients de la technique d’échange est que les performances du système pâtiront d’un algorithme d’échange qui ne serait pas suffisamment efficace. L’échange peut contribuer grandement au bon fonctionnement des machines s’il est effectué correctement. En revanche, une mauvaise mise en œuvre peut entraîner des performances poussives, voire des défaillances du système.
En savoir plus sur la gestion de la mémoire.