Communication interprocessus
Communication Interprocessus ? Introduction ? Segments de données et ?chiers communs ? Les signaux ? Les tubes de communication ?? Tubes anonymes ?? Tubes nommés INF Systèmes d ? exploitation Génie Informatique École Polytechnique de Montréal Séance CIntroduction ? En général plusieurs processus threads coopèrent pour réaliser une t? che complexe ? Ces processus s'exécutent en parallèle sur un même ordinateur monoprocesseur ou multiprocesseurs ou sur des ordinateurs di ?érents ? Ils doivent s'échanger des informations communication interprocessus ? Il existe plusieurs mécanismes de communication interprocessus Nous pouvons citer ?? les données communes variables ?chiers segments de données ?? les signaux ?? les messages INF Systèmes d ? exploitation Génie Informatique École Polytechnique de Montréal Séance CSegments de données et ?chiers communs ? Les processus partagent un ensemble de données communes qui sont soit en mémoire variables ou segments de données ou sur disque ?chiers ? Chaque processus peut accéder en lecture ou en écriture à cet ensemble de données espace de données commun ? Des problèmes d ? incohérence peuvent survenir lorsque plusieurs processus opèrent en même temps sur un espace commun Ce problème sera étudié lors de la prochaine séance ? Supposons deux processus qui partagent une variable v Le premier processus incrémente de la valeur de v alors que l ? autre la décrémente de La valeur initiale de v est P v v P v v- ? Les instructions correspondant en assembleur P load v P load v add sub store v store v Supposons que ? les processus P et P s ? exécutent en temps partagé ? le processus P exécute load v et add Il est suspendu juste après l ? exécution de add ? Le processus P est élu et exécute les instructions load v et sub et store v Le processus P se termine avec v ? Le processus P est ensuite élu et exécute l ? instruction store v v INF Systèmes d ? exploitation Génie Informatique École Polytechnique de Montréal Séance CSegments de données et ?chiers communs ? Les threads POSIX d ? un processus partagent la zone de données globales ainsi que la table des descripteurs de ?chiers du processus ? Lors de la création d ? un processus fork la table des descripteurs de ?chiers est dupliquée Les processus créateur et créé partageront le même pointeur de ?chier pour chaque ?chier déjà ouvert lors de la création ? Il est possible de créer des segments de données de les rattacher et de les détacher des processus ? On peut ainsi créer des segments de données communs à plusieurs processus INF Systèmes d ? exploitation Génie Informatique École Polytechnique de Montréal Séance CSegments de données et ?chiers communs ? Les appels système pour la création de segments partagés sont dans les librairies et ? L ? appel système shmget permet de créer ou de retrouver un segment de données ? L ? appel système shmat permet d ? attacher un segment de données à un processus ? L
Documents similaires










-
36
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Jul 31, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 102.3kB