Nous avons abordé la cartographie mammaire en détail dans la vidéo précédente et j'espère que vous avez compris
le concept.
C'est ce dont nous allons parler dans cette conférence.
Comment le mappage de la mémoire peut conduire à une mémoire partagée.
La mémoire partagée peut être facilement réalisée en utilisant le concept de mappage de la mémoire.
Il suffit d'une étape supplémentaire pour créer une mémoire partagée.
Dans cette diapositive, vous pouvez voir que nous avons notre processus P 1 et je vous ai montré que la mémoire virtuelle
du processus P 1 a créé deux pages de mémoire virtuelle supplémentaires à l'aide d'un appel système map.
C'est pourquoi la cartographie.
D'accord.
Il s'agit d'une mémoire externe.
Disons qu'il s'agit du même fichier texte qui a été importé par le processus dans son espace d'adressage virtuel
à l'aide de l'appel système map.
D'accord.
La taille de cette mémoire externe, disons, est de 8192 octets.
Et comme je l'ai dit, lorsque les pages de mémoire virtuelle du processus sont créées à l'aide d'un appel système map, le système
d'exploitation met également en place les pages physiques qui correspondent une à une à ces nouvelles pages de mémoire virtuelle qui sont créées
dans l'espace d'adressage virtuel du processus.
Ainsi, s'il s'agit de la mémoire virtuelle, de la page numéro cinq, c'est ce que vous remplacerez par la page numéro six.
Il peut s'agir du numéro de la page physique, disons huit.
Il s'agit du numéro de la page physique, disons neuf.
Notez que les pages physiques présentes dans la mémoire vive ne sont pas nécessairement contiguës.
Ils peuvent être chargés n'importe où dans différents cadres de la mémoire vive, alors que les pages de la mémoire virtuelle doivent
être contiguës.
Il n'y a pas d'option.
D'accord.
Cela dit, que se passe-t-il si je vous dis qu'il y a un autre processus sur la machine ?
qui importe la même mémoire externe dans son processus.
Espace d'adressage virtuel qui est le même fichier texte.
D'accord.
Le système d'exploitation a déjà créé les espaces physiques numéro huit et neuf pour ce fichier
texte.
Il ne se reproduira pas.
Mais si un autre processus importe cette mémoire externe en tant que mémoire virtuelle dans son processus, l'espace d'adressage
virtuel.
La table des pages du processus PE 2 est mise à jour de telle sorte que l'espace mémoire virtuel,
disons un et deux, et l'espace d'adressage virtuel du processus PE 2 correspondent à l'espace physique numéro huit et à
l'espace physique numéro neuf uniquement.
En d'autres termes, nous disons que les pages physiques numéro huit et neuf sont des pages physiques partagées
présentes dans la mémoire principale.
L'espace physique numéro huit correspond à l'espace virtuel numéro cinq du processus P one et la page physique
numéro huit correspond à la page virtuelle numéro un du processus P2.
Il en va de même pour la page physique numéro neuf, la page physique numéro neuf correspond
à la page virtuelle numéro six du processus P un et la page physique numéro neuf correspond à la page
virtuelle numéro deux du processus P deux.
De même, il pourrait y avoir le processus P trois, le processus P quatre, qui peut importer la même mémoire externe dans
son processus, l'espace d'adressage virtuel.
Et la table sera configurée de telle sorte que leurs pages de mémoire virtuelle privée respectives correspondront à
la page numéro huit et à la page numéro neuf et ainsi de suite.
Cela signifie simplement que les pages virtuelles sont à la fois les cartes des processus pour les mêmes pages physiques chargées dans
la mémoire vive.
Les pages physiques sont à leur tour lues et renvoyées vers la mémoire externe.
Ainsi, lorsque l'un ou l'autre des processus invoque un système appelé, il y a un système appelé, appelé et carte.
Il existe également un autre système appelé M Sync.
Lorsque le processus invoque le système AMP appelé, quel que soit le contenu des pages physiques,
il est envoyé vers ce stockage secondaire externe.
Dans ce cas, il s'agit d'un fichier texte.
Il n'y a donc pas lieu de s'inquiéter.
Nous allons écrire un programme et voir ces appels système en action.
Je vous le dis simplement.
Pendant le déroulement du processus.
Le processus continue à modifier leurs mémoires virtuelles, ce qui a pour conséquence de modifier également le contenu
de leurs pages physiques.
Mais ce n'est pas comme si, pour chaque modification, les changements étaient envoyés à ce dispositif de mémoire externe.
D'accord.
Ce serait inefficace.
Le processus doit donc invoquer un appel système explicite afin de déclencher la synchronisation
des données de ces pages physiques vers le disque externe ou le fichier texte externe.
D'accord.
Il s'agit donc d'un appel système.
L'appel système, qui est spécial ou conçu à cette fin, est donc hm.
Think I'm an map remplit également cette fonction.
Mais en plus, I'm a map détruit également les mappings de la mémoire.
En d'autres termes, il détruit la page de mémoire virtuelle créée par l'intermédiaire d'un appel système "map".
Il existe une règle selon laquelle un processus ne peut jamais accéder à une adresse située en dehors de son espace d'adressage virtuel.
Nous n'avons donc jamais enfreint cette règle.
D'accord.
Tout au long de la discussion, nous n'avons jamais dit qu'un processus pouvait accéder à une adresse ou à une mémoire en dehors de son processus.
Adresse virtuelle, espace ?
Non.
En fait, pour que cette règle soit appliquée, l'ensemble du concept est conçu de cette manière.
Si le processus souhaite accéder à une mémoire externe, celle-ci doit être simulée en tant que mémoire virtuelle dans l'espace
d'adressage virtuel du processus afin que cette règle soit respectée.
D'accord.
Toute modification effectuée par le processus, dans ses pages de mémoire virtuelle partagée, sera vue par
l'outil P du processus, aussi simple que cela.
Si le processus P-1 écrit quelques données, disons huit sur l'adresse.
A Très bien.
Et disons que l'adresse e se transforme en adresse physique.
E one So à l'adresse physique, a18 sera écrit.
D'accord.
Il s'agit de l'adresse physique, un, traduisons inversement l'adresse A1, qui est une adresse physique,
disons la conversion en adresse a deux, qui est une adresse logique, appartient au processus.
P deux mémoires virtuelles.
Ainsi, à l'adresse un deux.
La valeur huit sera automatiquement reflétée si le processus p two imprime la valeur à son
adresse logique, A2 huit sera imprimé.
D'accord.
Cela signifie simplement que deux processus différents P un et P deux, c'est comme voir le même paysage.
Depuis leurs fenêtres respectives.
D'accord.
C'est comme si deux personnes résidant dans la même maison, mais dans des pièces différentes, regardaient
le même arbre dans le jardin depuis leurs fenêtres respectives, et que les modifications apportées à l'arbre étaient visibles
pour les deux personnes.
Pour ce diagramme, voyons la vue logique sur la diapositive suivante.
La diapositive suivante indique donc simplement que les deux processus visualisent cette mémoire externe à partir de leur fenêtre
de mémoire virtuelle.
D'accord.
Le résultat final est donc que la mémoire externe peut être présentée comme une mémoire virtuelle aux processus.
Si plusieurs processus importent le même segment de mémoire externe à l'aide de la cartographie de la mémoire, nous obtenons alors une
région de mémoire partagée.
Il s'agit donc de la région de mémoire partagée.
D'accord.
Il est à noter que, dans ce concept, la mémoire vive joue le rôle d'intermédiaire.
D'accord.
C'est un intermédiaire qui rend possible ce partage de mémoire externe entre les deux processus.
Quant à notre système d'exploitation, il s'agit d'une conception moderne, d'un processus.
Un processus ne peut pas lire ou écrire dans la mémoire qui n'appartient pas à son espace d'adressage virtuel.
Les concepteurs ont donc élaboré un plan.
C'est ainsi que la mémoire externe pourrait être.
Simulation d'une mammaire virtuelle pour le processus.
Si nous y parvenons, la mammaire externe pourrait être accessible au processus, et pas seulement
à un seul processus, mais à plusieurs.
Voici donc le concept global de la mise en place de la mémoire partagée.
Nous avons un peu plus à discuter concernant la mémoire partagée, que nous allons couvrir dans les vidéos
de cours suivantes.