Avant de nous lancer directement dans les discussions sur les mappages de mémoire, revoyons notre concept de pagination
de la mémoire virtuelle.
Qu'est-ce que la mémoire physique ?
Qu'est-ce que la mémoire secondaire, etc. etc.
Vous pouvez donc voir un diagramme sur la diapositive.
C'est un très beau diagramme.
Vous pouvez le voir sur le côté gauche.
Je vous ai montré une mémoire virtuelle de processus typique.
Disons que vous avez un processus, un PE et un processus.
Il s'agit d'un instantané de la mémoire virtuelle du processus.
PE.
Si vous comprenez le fonctionnement de la mémoire virtuelle, vous savez qu'elle est divisée logiquement
en petits morceaux de mémoire appelés pages virtuelles.
D'accord.
Il s'agit donc de pages virtuelles.
La taille de la page virtuelle est fixe sur un système.
Sur la plupart des systèmes, elle est de 4096 octets.
Mais il est configurable.
Vous pouvez modifier la taille de la page virtuelle de 4096 en deux, soit 8192 octets.
De toute façon, il s'agit d'une valeur très courante de la taille d'une page virtuelle typique d'une mémoire virtuelle.
Dans le système.
Nous disposons d'une unité appelée MMU (Memory Management Unit).
L'objectif de cette AMU est de traduire l'adresse virtuelle en adresse physique.
Ainsi, lorsque votre programme s'exécute, il ne génère que les adresses virtuelles.
Votre programme ne sait pas du tout qu'il existe des adresses physiques.
D'accord.
L'adresse virtuelle.
Supposons que votre programme génère une adresse virtuelle.
E Cette adresse pourrait être l'adresse de l'instruction dans votre programme.
Cette adresse peut également être l'adresse d'un emplacement de mémoire dans votre programme.
Il pourrait donc s'agir de l'adresse des données.
Qu'en est-il ?
Le système d'exploitation s'alimenterait.
L'adresse A Il s'agit de l'adresse virtuelle A de l'unité de gestion de la mémoire du système.
Pour traduire l'adresse virtuelle en adresse physique, disons que l'adresse physique de la
conversion est B. L'adresse physique B correspond donc à l'emplacement dans la mémoire physique.
C'est la mémoire vive.
D'accord.
A signifie donc l'emplacement dans la mémoire virtuelle, disons ici.
Il s'agit de l'adresse dans la mémoire virtuelle du programme.
Et B désigne l'emplacement dans la mémoire physique.
Disons que B est ici.
D'accord.
Les régions colorées en jaune dans ce bélier représentent les pages physiques.
qui fait partie de ce processus.
P.
La mémoire vive est partagée par de nombreuses applications qui tournent sur le système.
Tout comme la mémoire virtuelle est divisée en pages virtuelles, la mémoire vive est également
divisée en cadres.
Nous sommes donc en train de récapituler le fonctionnement de la mémoire virtuelle, de la mémoire physique et de la pagination.
Nous n'entrerons pas dans les détails.
Nous allons juste faire un petit récapitulatif afin de pouvoir passer à la discussion sur nos mappings de mémoire.
Ces compartiments que vous pouvez voir dans la mémoire physique s'appellent des cadres.
En règle générale, la taille de la trame est identique à la taille de la page de mémoire virtuelle, qui est de 4096 octets.
D'accord.
Voici le cadre.
La trame stocke les données binaires.
Les données binaires enregistrées dans ce cadre particulier de la mémoire vive sont appelées page physique.
D'accord.
Chaque trame contient donc une page physique, dont la taille est égale à celle
de la trame, soit 4096 octets.
D'accord.
Vous pouvez donc voir ici le processus.
PE Seuls trois cadres de la mémoire vive ont été alloués au processus.
P Très bien.
Ces trois cadres dans la mémoire vive stockent les pages physiques du processus.
Ainsi, dans la mémoire virtuelle, vous pouvez voir qu'il s'agit des pages virtuelles du processus.
P Supposons que la mémoire virtuelle du processus P soit divisée en huit pages
virtuelles.
Ainsi, sur ces huit pages virtuelles, trois pages virtuelles sont chargées dans la mémoire vive, disons
trois, quatre et sept.
D'accord.
La totalité de la mémoire vive n'est pas allouée à votre processus.
Une mémoire vive est partagée par plusieurs applications.
Voici donc comment fonctionne Pékin.
Un sous-ensemble de pages virtuelles du processus est traduit en pages physiques, qui sont ensuite chargées dans
la mémoire physique dans un certain nombre de cadres de la mémoire physique.
D'accord.
Le dernier composant que vous pouvez voir dans ce diagramme est le stockage secondaire.
C'est le disque.
Le contenu de la mémoire physique est lu ou écrit dans cette mémoire secondaire.
D'accord.
Tous les programmes n'ont pas besoin de stockage secondaire, mais la plupart des applications non triviales en ont besoin.
Vous avez donc dû écrire des programmes de structure de données sur des tableaux, des QS, des piles, et vous avez dû remarquer que
ces programmes n'ont rien à voir avec le disque.
D'accord.
L'intégralité du contenu de ces programmes se trouve dans la mémoire vive.
Et dès que vous mettez fin à votre programme, toutes les données de la mémoire vive sont également perdues.
Vous ne lisez ni n'écrivez rien dans le bureau, mais de nombreuses applications ont besoin de bureaux pour
fonctionner.
Par exemple, une application telle que le Bloc-notes, qui est une application très simple, dès que vous appuyez sur la touche
de contrôle, le contenu du bloc-notes est enregistré sur le disque.
D'accord.
En d'autres termes, je peux dire que les pages physiques qui appartiennent au bloc-notes seront copiées et écrites
sur le disque.
C'est ainsi que le contenu du bloc-notes est préservé lors des redémarrages de la machine.
Tant que vous enregistrez le contenu de l'application sur le disque.
Ce contenu perdure même après un redémarrage de la machine.
Passons maintenant à la cartographie mammaire.
La cartographie mammaire est utilisée pour modifier le stockage secondaire du programme.
Dans ce cas, le stockage secondaire le plus courant du programme n'est rien d'autre qu'un disque, car
le disque est un matériel fourni avec votre machine.
Le mappage de la mémoire est donc utilisé pour remplacer le stockage secondaire du programme par une autre source, par exemple la
mémoire d'un périphérique matériel ou un fichier particulier sur le disque.
Supposons que vous utilisiez un bloc-notes sur votre ordinateur.
Et si je disais qu'au lieu de sauvegarder les pages physiques du bloc-notes sur le disque, je retire
le disque et le remplace par une autre mémoire.
Disons la carte SD.
Ou disons une clé USB ou un autre périphérique de stockage connecté via le port USB à votre machine.
Mais en fin de compte, cet appareil est aussi un souvenir.
Le remappage de mammifères est donc utilisé pour remplacer le stockage secondaire du programme par une autre source, par exemple
la mémoire d'un périphérique matériel ou un fichier particulier sur le disque.
Votre application n'est même pas consciente de l'existence d'une mémoire physique, et encore moins d'une mémoire secondaire.
Rappelez-vous donc que votre application sait seulement qu'il existe quelque chose appelé mémoire virtuelle, et qu'à
part cela, elle n'est jamais au courant de l'existence d'une mémoire physique ou d'un stockage secondaire.
Ainsi, la même application de bloc-notes fonctionnera sans problème, même si vous remplacez le stockage secondaire par une imprimante, un appareil
photo, une mémoire, etc. etc.
D'accord.
Jusqu'à présent, dans ce cours vidéo, nous avons abordé les concepts de base de la pagination de la mémoire virtuelle,
de la mémoire physique, de l'unité de traduction (MCU).
Nous avons discuté à un niveau très élevé de ce qu'est la cartographie de la mémoire et de son objectif.
Dans la prochaine conférence vidéo, nous irons plus loin et, à l'aide d'une illustration, je vous montrerai comment fonctionne
exactement la cartographie de la mémoire.