Petit rappel: Pour fournir une meilleure réponse au reste de la communauté, veuillez ne pas dire quelque chose comme «Ne parlez pas des quatre types de mémoire». Même si vous le savez bien, il y a peut-être mille et un citoyens d'Internet qui arrivent ici dans l'espoir d'une réponse collatérale. :)
"Paging" est le terme exact pour l'action suivante. «Échanger» est utilisé familièrement pour «paginer», de manière assez interchangeable ces jours-ci, cependant. «Swapping» se référait à l'origine au déplacement de l'espace mémoire d'un programme sur le «stockage secondaire» (par opposition au «stockage principal», qui est un terme archaïque pour… RAM, d'une certaine manière). La frontière entre la pagination et l'échange est considérablement brouillée par les systèmes Windows et Unix appelant les échanges d'espace de pagination.
Et puis, il faut connaître la pagination pour comprendre le concept de mémoire active, câblée et inactive. La pagination signifie que la page de mémoire est déplacée hors de la mémoire à accès aléatoire (c'est-à-dire la RAM) et sur le disque dur ou un autre périphérique de stockage secondaire. Cela permet à l'application en cours d'exécution de demander plus de mémoire que la quantité totale de RAM système disponible.
Notez que bien que la pagination signifie une énorme pénalité de performance pour accéder à nouveau à ce bit d'informations particulier, la pagination peut se produire dans deux cas différents: (Citant moi-même: inconvénients de ne pas avoir de partition de swap )
- Lorsqu'il n'y a pas suffisamment de mémoire pour toutes les applications - dans le cas où cela se produit sur un système sans espace de swap, cela entraînera un échec d'allocation de mémoire pour les nouvelles applications demandant de nouvelles pages de mémoire - et cela se traduit généralement par l'arrêt du programme.
- Lorsque certaines pages de la mémoire (la mémoire est divisée en «pages») sont utilisées il y a quelque temps, mais ne sont plus utilisées maintenant, elles sont transférées dans le fichier d'échange et la mémoire restante peut être utilisée pour faire autre chose qui pourrait être plus utile. (par exemple, même la mise en cache!) - lorsque cela se produit dans un système sans espace de swap, les pages inactives resteront en mémoire. Ce n'est cependant pas trop grave, car nous avons beaucoup de mémoire ces jours-ci.
Les quatre types de mémoire sont classés comme suit:
Câblé: utilisé par une application qui prétend que le bloc de mémoire alloué doit rester physiquement dans la RAM et ne pas être échangé sur le disque, qu'il soit récemment utilisé ou non, c'est-à-dire qu'une autre application ne peut PAS demander ce bloc de mémoire particulier. Les exemples font partie de la mémoire utilisée par le système et celle utilisée par les machines virtuelles.
Actif et inactif: il s'agit de la mémoire utilisée généralement par les applications en mode utilisateur, dans laquelle elles peuvent être échangées sur des disques. «Actif» signifie qu'il a été récemment utilisé et «Inactif» signifie qu'il n'a pas été utilisé récemment. Le système d'exploitation échangerait donc les pages inactives en premier, puis les pages actives plus tard si nécessaire.
Mémoire libre: Mémoire non utilisée. Ceci est utilisé à d'autres fins telles que la mise en cache du disque dur.
Si votre question est: «Dans une situation désastreuse où la mémoire est insuffisante, dans quel ordre le système essaierait-il d'allouer de la mémoire à une nouvelle application?», Alors la séquence serait d'allouer
mémoire libre → mémoire inactive → mémoire active
Dans un sens, même la mémoire récemment utilisée peut être paginée. La partie «câblée» est ce qui ne serait pas paginé à tout prix.
Dans les systèmes modernes, cependant, il est peu probable que la mémoire active soit paginée car nous avons beaucoup de RAM disponible.