WEBVTT

00:07.420 --> 00:13.060
Alors les gars, discutons maintenant du dernier sujet de la mémoire partagée dans ce cours vidéo.

00:13.060 --> 00:20.710
Nous allons voir comment la mémoire vive peut être utilisée comme source de données lorsqu'il s'agit de mémoire partagée.

00:20.710 --> 00:25.690
Vous pouvez donc voir dans ce diagramme que nous avons un processus P un et un processus P deux.

00:25.840 --> 00:31.810
Une chose que vous pouvez remarquer ici est que nous n'avons pas de source externe ou de mémoire

00:32.170 --> 00:35.980
externe sur ce que les processus P1 et P2 ont cartographié.

00:35.980 --> 00:37.930
Il s'agit de pages virtuelles.

00:38.680 --> 00:42.730
Rappelez-vous que ces pages virtuelles de couleur verte ont été créées par un appel système à la carte.

00:42.940 --> 00:49.930
Ainsi, les deux processus P1 et P2 ont créé leurs pages virtuelles à l'aide du système de cartes.

00:49.930 --> 00:55.660
Call et les affecter aux deux pages physiques qui sont chargées dans la mémoire vive.

00:56.350 --> 00:57.040
D'accord.

00:57.040 --> 01:03.010
Cela signifie simplement que ces deux pages physiques chargées dans la mémoire vive sont partagées par le processus

01:03.010 --> 01:09.760
P1 et le processus P2 et que cette exigence est suffisante lorsque les deux processus ou plus présents dans le système doivent effectuer

01:09.760 --> 01:12.640
une communication interprocessus.

01:12.970 --> 01:13.570
D'accord.

01:13.570 --> 01:20.350
Ainsi, chaque fois qu'il est nécessaire qu'un processus p one partage ses données avec un autre processus.

01:20.350 --> 01:24.580
P deux Dans ce cas, il est amplement suffisant d'utiliser la mémoire vive comme source de données.

01:24.850 --> 01:25.570
D'accord.

01:26.050 --> 01:34.180
Ainsi, les CPU accèdent à la RAM des millions de fois plus rapidement que les CPU accèdent au disque dur ou à toute autre source externe de

01:34.180 --> 01:34.900
mémoire.

01:35.140 --> 01:40.540
Ainsi, lorsque le processus doit communiquer intégralement et qu'il est nécessaire d'utiliser

01:40.540 --> 01:46.750
une approche de mémoire partagée, il est plus que suffisant de mapper les pages de mémoire virtuelle avec

01:46.750 --> 01:49.030
les pages physiques.

01:49.030 --> 01:50.530
C'est plus que suffisant.

01:50.530 --> 01:55.570
Dans ce cas, il n'est absolument pas nécessaire de disposer d'une source de mémoire externe.

01:56.350 --> 02:01.780
Supposons que le processus P1, au cours de son fonctionnement, maintienne une sorte de structure de données, une

02:01.780 --> 02:04.000
sorte de tableau dans sa mémoire virtuelle.

02:04.480 --> 02:05.080
D'accord.

02:05.080 --> 02:11.410
Ainsi, dès que le processus effectue une opération de mise à jour, cette table, la même table, et les modifications apportées

02:11.410 --> 02:15.070
à cette table sont instantanément répercutées dans le processus.

02:15.070 --> 02:21.130
P2 Mémoire virtuelle car la table est en fait plafonnée dans les pages physiques qui sont partagées par

02:21.130 --> 02:22.540
les deux processus.

02:22.780 --> 02:23.410
D'accord.

02:24.580 --> 02:30.250
Évidemment, la table des pages du processus P1 sera mise à jour, comme je l'ai décrit dans le cours vidéo

02:30.250 --> 02:36.190
précédent, afin que leurs pages de mémoire virtuelle respectives, qui sont créées par l'appel système map,

02:36.190 --> 02:40.810
correspondent aux pages de mémoire physique qui sont chargées dans la RAM.

02:41.620 --> 02:46.570
Les pages virtuelles sont donc à la fois des cartes de processus pour les mêmes pages physiques qui sont chargées dans ces pages.

02:46.570 --> 02:51.970
Cette technique est largement utilisée chaque fois que les processus doivent être communiqués pour résoudre

02:51.970 --> 02:53.560
la logique de l'entreprise.

02:54.100 --> 02:54.730
D'accord.

02:54.730 --> 02:58.690
Et comme je l'ai dit, il n'y a pas de mémoire externe impliquée.

02:58.690 --> 03:00.580
Donc des pages physiques.

03:00.940 --> 03:07.690
Les pages physiques n'ont donc pas besoin de synchroniser leurs données avec une source externe, car cette

03:07.690 --> 03:10.180
dernière n'est pas nécessaire.

03:10.450 --> 03:13.420
Lorsque je parle de source externe, il s'agit d'une mémoire externe.

03:13.420 --> 03:14.050
D'accord.

03:14.320 --> 03:17.620
Il s'agit donc du dernier concept lié à la mémoire partagée.

03:17.620 --> 03:21.670
Nous avons passé suffisamment de temps à discuter de la théorie de la mémoire partagée.

03:21.670 --> 03:26.860
A partir du dernier cours, nous allons écrire quelques programmes dans lesquels nous nous familiariserons

03:26.860 --> 03:33.010
avec l'appel système map et les API associées, qui fonctionnent avec la mémoire partagée.

03:33.220 --> 03:39.250
Nous verrons également comment, en utilisant l'approche de la mémoire partagée, nous pouvons mettre en œuvre la communication entre les processus.
