Maison >Problème commun >Quelles sont les méthodes de communication inter-processus ?

Quelles sont les méthodes de communication inter-processus ?

coldplay.xixi
coldplay.xixioriginal
2021-02-04 11:56:4077729parcourir

Les méthodes de communication inter-processus incluent : 1. Les canaux font généralement référence à des canaux sans nom, qui sont la forme la plus ancienne d'IPC dans les systèmes UNIX ; 2. FIFO, qui est un type de fichier ; 3. la file d'attente de messages, qui est ; une liste chaînée de messages, stockée dans le noyau ; 4. Le sémaphore est un compteur ; 5. La mémoire partagée.

Quelles sont les méthodes de communication inter-processus ?

L'environnement d'exploitation de cet article : système Windows 7, ordinateur Dell G3.

Les méthodes de communication inter-processus sont :

Les tuyaux

Les tuyaux, font généralement référence à des tuyaux sans nom, sont des systèmes UNIX. La forme la plus ancienne d'IPC.

Caractéristiques :

  • Il est semi-duplex (c'est-à-dire que les données ne peuvent circuler que dans une seule direction), avec des extrémités de lecture et d'écriture fixes.

  • Il ne peut être utilisé que pour la communication entre des processus qui ont une relation (également entre des processus parent-enfant ou des processus frères et sœurs).

  • Il peut être considéré comme un fichier spécial, et des fonctions de lecture, d'écriture et autres ordinaires peuvent également être utilisées pour le lire et l'écrire. Mais ce n’est pas un fichier ordinaire, n’appartient à aucun autre système de fichiers et n’existe qu’en mémoire.

2. FIFO

FIFO, également connu sous le nom de tube nommé, est un type de fichier.

1. Caractéristiques

  • FIFO peut échanger des données entre des processus non liés, contrairement aux canaux sans nom.

  • FIFO est associé à un nom de chemin et il existe dans le système de fichiers en tant que fichier de périphérique spécial.

3. File d'attente de messages

La file d'attente de messages est une liste chaînée de messages, stockés dans le noyau. Une file d'attente de messages est identifiée par un identifiant (ID de file d'attente).

Fonctionnalités

  • La file d'attente des messages est orientée enregistrement et les messages qu'elle contient ont un format et une priorité spécifiques.

  • La file d'attente des messages est indépendante des processus d'envoi et de réception. Lorsque le processus se termine, la file d'attente des messages et son contenu ne sont pas supprimés.

  • La file d'attente des messages peut réaliser une requête aléatoire de messages. Les messages ne doivent pas nécessairement être lus dans l'ordre premier entré, premier sorti, mais peuvent également être lus en fonction du type de message.

4. Sémaphore

Le sémaphore est différent de la structure IPC déjà introduite. Les sémaphores sont utilisés pour mettre en œuvre l'exclusion mutuelle et la synchronisation entre les processus, plutôt que pour stocker les données de communication inter-processus.

Caractéristiques

  • Le sémaphore est utilisé pour la synchronisation inter-processus. Pour transférer des données entre les processus, il doit être combiné avec la mémoire partagée.

  • Le sémaphore est basé sur le fonctionnement PV du système d'exploitation, et les opérations du programme sur le sémaphore sont toutes des opérations atomiques.

  • Chaque opération PV sur le sémaphore ne se limite pas à ajouter 1 ou à soustraire 1 à la valeur du sémaphore, mais peut également ajouter ou soustraire n'importe quel entier positif.

  • Prend en charge les groupes de sémaphores.

5. Mémoire partagée

La mémoire partagée fait référence à deux processus ou plus partageant une zone de stockage donnée.

Caractéristiques

  • La mémoire partagée est le type d'IPC le plus rapide car le processus accède directement à la mémoire.

  • Étant donné que plusieurs processus peuvent fonctionner en même temps, une synchronisation est requise.

  • Sémaphores + mémoire partagée sont généralement utilisés ensemble. Les sémaphores sont utilisés pour synchroniser l'accès à la mémoire partagée.

Si vous souhaitez en savoir plus sur la programmation, merci de faire attention à la formation php rubrique !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn