WEBVTT

00:07.440 --> 00:12.540
Nous avons abordé la cartographie mammaire en détail dans la vidéo précédente et j'espère que vous avez compris

00:12.540 --> 00:13.350
le concept.

00:13.860 --> 00:16.470
C'est ce dont nous allons parler dans cette conférence.

00:16.470 --> 00:19.710
Comment le mappage de la mémoire peut conduire à une mémoire partagée.

00:19.950 --> 00:24.690
La mémoire partagée peut être facilement réalisée en utilisant le concept de mappage de la mémoire.

00:24.900 --> 00:28.950
Il suffit d'une étape supplémentaire pour créer une mémoire partagée.

00:29.370 --> 00:36.390
Dans cette diapositive, vous pouvez voir que nous avons notre processus P 1 et je vous ai montré que la mémoire virtuelle

00:36.390 --> 00:42.960
du processus P 1 a créé deux pages de mémoire virtuelle supplémentaires à l'aide d'un appel système map.

00:42.960 --> 00:44.550
C'est pourquoi la cartographie.

00:45.120 --> 00:45.810
D'accord.

00:45.810 --> 00:47.880
Il s'agit d'une mémoire externe.

00:47.880 --> 00:56.370
Disons qu'il s'agit du même fichier texte qui a été importé par le processus dans son espace d'adressage virtuel

00:56.370 --> 00:58.830
à l'aide de l'appel système map.

00:59.250 --> 00:59.850
D'accord.

00:59.850 --> 01:04.740
La taille de cette mémoire externe, disons, est de 8192 octets.

01:06.110 --> 01:12.490
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

01:12.500 --> 01:19.760
d'exploitation met également en place les pages physiques qui correspondent une à une à ces nouvelles pages de mémoire virtuelle qui sont créées

01:19.760 --> 01:22.820
dans l'espace d'adressage virtuel du processus.

01:23.090 --> 01:27.440
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.

01:27.590 --> 01:30.890
Il peut s'agir du numéro de la page physique, disons huit.

01:30.890 --> 01:33.860
Il s'agit du numéro de la page physique, disons neuf.

01:35.220 --> 01:39.930
Notez que les pages physiques présentes dans la mémoire vive ne sont pas nécessairement contiguës.

01:40.050 --> 01:46.500
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

01:46.500 --> 01:47.430
être contiguës.

01:47.460 --> 01:48.730
Il n'y a pas d'option.

01:48.750 --> 01:49.380
D'accord.

01:49.980 --> 01:57.120
Cela dit, que se passe-t-il si je vous dis qu'il y a un autre processus sur la machine ?

01:59.110 --> 02:02.860
qui importe la même mémoire externe dans son processus.

02:02.860 --> 02:05.890
Espace d'adressage virtuel qui est le même fichier texte.

02:07.100 --> 02:07.700
D'accord.

02:08.030 --> 02:13.220
Le système d'exploitation a déjà créé les espaces physiques numéro huit et neuf pour ce fichier

02:13.220 --> 02:13.790
texte.

02:13.790 --> 02:15.350
Il ne se reproduira pas.

02:15.860 --> 02:23.990
Mais si un autre processus importe cette mémoire externe en tant que mémoire virtuelle dans son processus, l'espace d'adressage

02:23.990 --> 02:24.860
virtuel.

02:24.860 --> 02:30.500
La table des pages du processus PE 2 est mise à jour de telle sorte que l'espace mémoire virtuel,

02:30.500 --> 02:37.850
disons un et deux, et l'espace d'adressage virtuel du processus PE 2 correspondent à l'espace physique numéro huit et à

02:37.850 --> 02:40.760
l'espace physique numéro neuf uniquement.

02:41.420 --> 02:47.390
En d'autres termes, nous disons que les pages physiques numéro huit et neuf sont des pages physiques partagées

02:47.390 --> 02:50.090
présentes dans la mémoire principale.

02:50.570 --> 02:58.280
L'espace physique numéro huit correspond à l'espace virtuel numéro cinq du processus P one et la page physique

02:58.280 --> 03:03.530
numéro huit correspond à la page virtuelle numéro un du processus P2.

03:03.950 --> 03:09.710
Il en va de même pour la page physique numéro neuf, la page physique numéro neuf correspond

03:09.710 --> 03:16.010
à la page virtuelle numéro six du processus P un et la page physique numéro neuf correspond à la page

03:16.010 --> 03:19.010
virtuelle numéro deux du processus P deux.

03:19.580 --> 03:25.820
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

03:25.820 --> 03:28.610
son processus, l'espace d'adressage virtuel.

03:28.760 --> 03:36.410
Et la table sera configurée de telle sorte que leurs pages de mémoire virtuelle privée respectives correspondront à

03:36.410 --> 03:40.400
la page numéro huit et à la page numéro neuf et ainsi de suite.

03:41.540 --> 03:47.270
Cela signifie simplement que les pages virtuelles sont à la fois les cartes des processus pour les mêmes pages physiques chargées dans

03:47.270 --> 03:48.020
la mémoire vive.

03:48.890 --> 03:52.640
Les pages physiques sont à leur tour lues et renvoyées vers la mémoire externe.

03:52.640 --> 03:59.300
Ainsi, lorsque l'un ou l'autre des processus invoque un système appelé, il y a un système appelé, appelé et carte.

04:00.910 --> 04:04.150
Il existe également un autre système appelé M Sync.

04:05.150 --> 04:11.120
Lorsque le processus invoque le système AMP appelé, quel que soit le contenu des pages physiques,

04:11.120 --> 04:15.110
il est envoyé vers ce stockage secondaire externe.

04:15.110 --> 04:16.550
Dans ce cas, il s'agit d'un fichier texte.

04:16.850 --> 04:17.750
Il n'y a donc pas lieu de s'inquiéter.

04:17.750 --> 04:21.230
Nous allons écrire un programme et voir ces appels système en action.

04:21.230 --> 04:23.120
Je vous le dis simplement.

04:24.540 --> 04:26.880
Pendant le déroulement du processus.

04:26.880 --> 04:32.880
Le processus continue à modifier leurs mémoires virtuelles, ce qui a pour conséquence de modifier également le contenu

04:32.880 --> 04:34.680
de leurs pages physiques.

04:34.710 --> 04:40.740
Mais ce n'est pas comme si, pour chaque modification, les changements étaient envoyés à ce dispositif de mémoire externe.

04:41.070 --> 04:41.490
D'accord.

04:41.490 --> 04:42.870
Ce serait inefficace.

04:42.870 --> 04:48.840
Le processus doit donc invoquer un appel système explicite afin de déclencher la synchronisation

04:48.840 --> 04:54.420
des données de ces pages physiques vers le disque externe ou le fichier texte externe.

04:55.270 --> 04:55.870
D'accord.

04:56.760 --> 04:58.160
Il s'agit donc d'un appel système.

04:58.170 --> 05:01.530
L'appel système, qui est spécial ou conçu à cette fin, est donc hm.

05:01.530 --> 05:04.590
Think I'm an map remplit également cette fonction.

05:04.590 --> 05:09.990
Mais en plus, I'm a map détruit également les mappings de la mémoire.

05:10.440 --> 05:15.420
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".

05:17.850 --> 05:23.970
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.

05:23.970 --> 05:27.000
Nous n'avons donc jamais enfreint cette règle.

05:28.000 --> 05:28.380
D'accord.

05:28.390 --> 05:35.650
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.

05:35.670 --> 05:36.790
Adresse virtuelle, espace ?

05:36.820 --> 05:37.300
Non.

05:37.840 --> 05:44.470
En fait, pour que cette règle soit appliquée, l'ensemble du concept est conçu de cette manière.

05:44.920 --> 05:52.600
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

05:52.600 --> 05:57.550
d'adressage virtuel du processus afin que cette règle soit respectée.

05:58.450 --> 05:59.050
D'accord.

06:02.010 --> 06:07.410
Toute modification effectuée par le processus, dans ses pages de mémoire virtuelle partagée, sera vue par

06:07.410 --> 06:09.930
l'outil P du processus, aussi simple que cela.

06:09.960 --> 06:16.170
Si le processus P-1 écrit quelques données, disons huit sur l'adresse.

06:16.170 --> 06:17.970
A Très bien.

06:17.970 --> 06:21.570
Et disons que l'adresse e se transforme en adresse physique.

06:21.570 --> 06:26.520
E one So à l'adresse physique, a18 sera écrit.

06:27.600 --> 06:28.260
D'accord.

06:28.350 --> 06:34.260
Il s'agit de l'adresse physique, un, traduisons inversement l'adresse A1, qui est une adresse physique,

06:34.260 --> 06:39.900
disons la conversion en adresse a deux, qui est une adresse logique, appartient au processus.

06:39.900 --> 06:41.190
P deux mémoires virtuelles.

06:41.790 --> 06:43.860
Ainsi, à l'adresse un deux.

06:44.740 --> 06:51.580
La valeur huit sera automatiquement reflétée si le processus p two imprime la valeur à son

06:51.580 --> 06:54.700
adresse logique, A2 huit sera imprimé.

06:56.310 --> 06:56.940
D'accord.

06:57.740 --> 07:04.340
Cela signifie simplement que deux processus différents P un et P deux, c'est comme voir le même paysage.

07:05.740 --> 07:07.810
Depuis leurs fenêtres respectives.

07:08.900 --> 07:09.440
D'accord.

07:09.440 --> 07:14.930
C'est comme si deux personnes résidant dans la même maison, mais dans des pièces différentes, regardaient

07:14.930 --> 07:21.050
le même arbre dans le jardin depuis leurs fenêtres respectives, et que les modifications apportées à l'arbre étaient visibles

07:21.050 --> 07:22.880
pour les deux personnes.

07:23.740 --> 07:28.000
Pour ce diagramme, voyons la vue logique sur la diapositive suivante.

07:28.030 --> 07:34.660
La diapositive suivante indique donc simplement que les deux processus visualisent cette mémoire externe à partir de leur fenêtre

07:34.660 --> 07:35.980
de mémoire virtuelle.

07:37.110 --> 07:37.710
D'accord.

07:39.000 --> 07:43.320
Le résultat final est donc que la mémoire externe peut être présentée comme une mémoire virtuelle aux processus.

07:43.320 --> 07:49.170
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

07:49.170 --> 07:50.490
région de mémoire partagée.

07:50.490 --> 07:52.860
Il s'agit donc de la région de mémoire partagée.

07:54.550 --> 07:55.120
D'accord.

07:55.330 --> 08:00.910
Il est à noter que, dans ce concept, la mémoire vive joue le rôle d'intermédiaire.

08:05.250 --> 08:05.850
D'accord.

08:06.270 --> 08:12.570
C'est un intermédiaire qui rend possible ce partage de mémoire externe entre les deux processus.

08:13.380 --> 08:17.250
Quant à notre système d'exploitation, il s'agit d'une conception moderne, d'un processus.

08:17.250 --> 08:23.410
Un processus ne peut pas lire ou écrire dans la mémoire qui n'appartient pas à son espace d'adressage virtuel.

08:23.430 --> 08:25.770
Les concepteurs ont donc élaboré un plan.

08:26.550 --> 08:29.070
C'est ainsi que la mémoire externe pourrait être.

08:30.170 --> 08:33.350
Simulation d'une mammaire virtuelle pour le processus.

08:33.350 --> 08:39.410
Si nous y parvenons, la mammaire externe pourrait être accessible au processus, et pas seulement

08:39.410 --> 08:42.020
à un seul processus, mais à plusieurs.

08:43.010 --> 08:46.570
Voici donc le concept global de la mise en place de la mémoire partagée.

08:46.580 --> 08:52.280
Nous avons un peu plus à discuter concernant la mémoire partagée, que nous allons couvrir dans les vidéos

08:52.280 --> 08:53.480
de cours suivantes.
